メソッド定義のカラクリ
Twitter APIのラッパーである"Rubytter"を使おうと思ってドキュメントを漁ってたんですが、
RubyGems.orgからリンクされているこちらのドキュメントにメソッドが足りない事に気づきました。
http://rubydoc.info/gems/rubytter/1.4.2/frames
じゃあ、ソース見るしかないね、と思って見に行ったら、なかなか面白い実装法。
https://github.com/jugyo/rubytter/blob/master/lib/rubytter.rb
- Rubyメソッド、TwitterAPIのパス、HTTPメソッドの3要素を組にして、並べた配列を定義する。
- Twitter APIのうち変数として格納する部分は "%s" (printfフォーマットみたいな?)で埋めておく。
- def - end のメソッド定義を文字列として作成し、evalで評価することでメソッドが定義される。
- %sの有無でパラメータが必要かどうか決定。
メソッドの一覧が見通せるからうまいなぁ、と思ったけど、
ドキュメントに残らないとか入力チェックが実装できないという意味ではちょっと難かも。
とても参考にはなりました。