RAILS PRESS RUBY on RAILS, it’s DRY and COOL …

RSS Feed

RAILS PRESS RSS

Tag Cloud

はてなブックマーク - railspress.matake.jp の注目エントリー
象形文字くさび形文字ミイラそろばんの玉そろばんコーラン占いの板?象牙大英博物館
« 前の3件
Tagged by Gem

Posted on
2008/12/23

Tags
API, Gem, OAuth, iKnow!, リリース

2 Comments

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

iKnow! gem 0.2.2

version 0.4.0 - version 0.1.1 までの更新履歴はこちら。
iKnow! gem version 0.1.1 - 京の路
iKnow! gem version up - OAuth & Basic認証 - 京の路

version 0.2.2 となり、ようやくこちらのブログでも発表できるレベルになりました。version 0.2.2 では、OAuth / Basic 認証のサポート、すべての要認証 API Call のサポートが追加されています。

OAuth / Basic 認証は同じインタフェースで使えます。Iknow::Auth に username と password を指定すれば Basic 認証、token と secret を指定すれば OAuth を使います。

LANG : RUBY
  1. iknow_auth = case auth_mode
  2.   when :oauth
  3.     Iknow::Auth.new(
  4.       :token => OAUTH_ACCESS_TOKEN,
  5.       :secret => OAUTH_ACCESS_TOKEN_SECRET
  6.     )
  7.   when :basic_auth
  8.     Iknow::Auth.new(
  9.       :username => IKNOW_USERNAME,
  10.       :password => IKNOW_PASSWORD
  11.     )
  12. end

あとは、要認証 API Call の第一引数に Iknow::Auth のインスタンスを渡してください。(※ 12月23日現在、OAuth の DELETE 系 Call がエラーになりますが、これは iKnow! API 側の問題です)

» このエントリーには続きがあります。続きを読む »


Posted on
2008/11/29

Tags
Gem, GitHub, iKnow!

0 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

iKnow! gem をアップデートしました version 0.0.4

新規 Call の反映と、各 Call で追加された Attributes の反映が主な変更点です。Item creation API は Basic 認証で実装してしまおうかと思ってます。いつやるかは未定(アセアセ

相変わらずドキュメントはサンプルコードですが、List / Item / Sentence の find や、User#study.total_summary などが新しく追加されています。また :include_sentences と :include_items は新しく追加されたパラメータです。

LANG : RUBY
  1. ## User API
  2. @user = Iknow::User.find('kirk')
  3. @user.items(:include_sentences => true)
  4. @user.lists
  5. @user.friends
  6. @user.study.results
  7. @user.study.total_summary
  8. @matched_users = Iknow::User.matching('matake')
  9.  
  10. ## List API
  11. @recent_lists = Iknow::List.recent
  12. @list = Iknow::List.find(31509, :include_sentences => true, :include_items => true)
  13. @list.items
  14. @list.sentences
  15. @matched_lists = Iknow::List.matching("イタリア語であいさつ")
  16.  
  17. # puts Iknow::List.find(31509, :include_sentences => true, :include_items => true).inspect
  18.  
  19. ## Item API
  20. @recent_items = Iknow::Item.recent(:include_sentences => true)
  21. @item = Iknow::Item.find(437525)
  22. @matched_items = Iknow::Item.matching('record', :include_sentences => true)
  23. @items = Iknow::Item.extract("sometimes, often, electrical")
  24. @items.first.sentences
  25.  
  26. ## Sentence API
  27. @recent_sentences = Iknow::Sentence.recent
  28. @sentence = Iknow::Sentence.find(312271)
  29. @matched_sentences = Iknow::Sentence.matching('record')

» このエントリーには続きがあります。続きを読む »


Posted on
2008/11/26

Tags
Gem, OpenID, iKnow!, ノウハウ

0 Comment

この記事をはてなブックマークに登録 この記事のはてなブックマーク数 この記事を livedoor クリップに登録この記事の livedoor クリップ数 このエントリを del.icio.us に追加
ブックマークに追加する

iKnow! の OpenID で XRI をサポート & ruby-openid を日本語 XRI 対応に

昨日 OpenID Foundation Japan で NRI の崎村さんに「iKnow! の OpenID は XRI をサポートしてないですね」ってなことを言われたらしいので、iKnow! の OpenID を XRI に対応させました。

OpenID Authentication Plugin の XRI 対応は RailsのOpenID Authentication PluginをXRI対応にする方法 に書きましたが、OpenID::Yadis::XRI.identifier_scheme というメソッドが既にあったので、今回はそれを使いました。

LANG : RUBY
  1. module OpenIdAuthentication
  2.   # XRI support
  3.   def self.normalize_url_with_xri(identifier)
  4.     case OpenID::Yadis::XRI.identifier_scheme(identifier)
  5.     when :xri : identifier
  6.     when :uri : normalize_url_without_xri(identifier)
  7.     end
  8.   end
  9.   class <<self
  10.     alias_method :normalize_url_without_xri, :normalize_url
  11.     alias_method :normalize_url, :normalize_url_with_xri
  12.   end
  13. end

で、久しぶりに @freexri に行ってみたら、「=名前*nov」とかとれるようになってました。いつのまにか XRI って日本語も使えるようになってるんですね。日本語 XRI は微妙だけど、一応対応しておきました。

ruby-openid が日本語 XRI に対応してなかったので、OpenID::Yadis::XRI.escape_for_iri_with_multibyte をちょっと変更する必要があります。

LANG : RUBY
  1. module OpenID::Yadis::XRI
  2.   def self.escape_for_iri_with_multibyte(xri)
  3.     esc = escape_for_iri_without_multibyte(xri)
  4.     esc.gsub!(/([\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3})/e) { |char_match|
  5.       CGI::escape(char_match)
  6.     }
  7.     return esc
  8.   end
  9.   class <<self
  10.     alias_method :escape_for_iri_without_multibyte, :escape_for_iri
  11.     alias_method :escape_for_iri, :escape_for_iri_with_multibyte
  12.   end
  13. end

これで OK なはずですが...

» このエントリーには続きがあります。続きを読む »


« 前の3件
Gemタグ