「cheat」(チート)というのは、「ずるをする」「だます」といった意味合いがありますが、その名もズバリ、「cheat」というツールがあります。ここでは「手抜きする」といった訳が適当でしょうか。
cheatはコマンドラインで素早く使えるツールなので、簡単に文法だけをチェックしたいというときは、APIのドキュメントを調べるより、こちらのほうが手軽です。
cheatは、以下のコマンドで簡単にインストールできます。
$ sudo gem install cheat
例えば、RSpecというテストツールについて調べたいときは、以下のように「cheat rspec」と入力します。
$ cheat rspec rspec: INSTALL ======= INSTALL rspec ============= $ sudo gem install rspec OR $ ./script/plugin install git://github.com/dchelimsky/rspec.git INSTALL rspec_on_rails plugin ============================= $ ./script/plugin install git://github.com/dchelimsky/rspec-rails.git
私の場合は標準出力されたものをいちいち上から追って行くのもめんどくさいので、通常はUNIXのgrepコマンドと併用して使います。例えば、以下のように使います。
$ cheat rspec | grep change proc { thing.approve! }.should change(thing, :status). proc { thing.destroy }.should change(Thing, :count).by(-1)
もっと詳しいcheatの使い方は、以下のようにして調べることができます。
$ cheat cheat
Railsでは、いろいろなライブラリがgemという形で配布されています。この使い方を調べるときに、インターネットで検索してもよいのですが、実はドキュメントはRDocという形式でソースコードに直接記述されていることが多いです(RailsのAPIDocもそうです)。なので、知らないことは、gem自身に聞いてみましょう。
以下のコマンドでgemのドキュメントサーバを立ち上げることができます。
$ gem server Server started at http://[::ffff:0.0.0.0]:8808 Server started at http://0.0.0.0:8808
ブラウザで「localhost:8808」とすれば、以下のようにインストールされたgemの一覧が表示されます。
gem serverを使ってドキュメントを見ようと思ったときに、実際にふたを開けてみると何もドキュメントが書かれていなかった、というのはよくあることです。そうなると、最終手段としてライブラリのソースコードを直に見ることでしょう。
でも、ソースコードがどこにあるのか分かりますか? もちろん、gemの格納先は“gem env”で調べることもできれば、“echo $GEM_PATH”で調べることもできます。しかし、そういうのをわざわざ調べるのがめんどくさい方には「gem-open」をお勧めします。
以下のように、コマンドラインから興味のあるgemを指定すると、該当するソースコードをエディタなどで開くことができます。
$ gem open activesupport
gem-openのインストールの手順は、ほかでも出ましたが“gem install”です。
sudo gem install gem-open
私は次のようにTextMateをエディタとして設定しています。
export GEM_EDITOR="mate"
ソースコード全般の見方ですが、もしすでに調べたいメソッド名が分かっているのであればそのメソッド名を検索して、そこからソースを読み始めればよいと思います。それ以外の場所としては、README、親切な人の場合はexampleというディレクトリに使用例が収められていたりします。
testやspecというディレクトリには、そのgemのテストコードが入っています。テストコード(特にunit test)を一から読んでいってもあまりにもローレベルすぎてチンプンカンプンだったりするのですが、たまにintegrationとかacceptanceというディレクトリを見かけることもあります。こうしたディレクトリには、そのライブラリの使用方法がテストとして記述されていて分かりやすいです。
新しい言語やフレームワークを習い始めるときというのは、情報量の多さに圧倒されるものです。「いつかは何も見ずにすらすら書けるようになりたい」と、誰もが夢見るものです。でも実際には情報も常に変化しているので、そういう日はRailsを始めて4年近くたった今も私には訪れていません。それよりも、「だいたいこういうことができる」という概要だけ押さえておいて、後は、リファレンスから必要情報に素早くアクセスできるような環境を整えておくことが重要かなと思います。
忘れやすい人のためのRailsリファレンスガイド
Page1
「あれどうやるんだっけ?」を素早くこなすために
公式ガイドははずせない
手元でAPIを検索できる「Rails Searchable API Doc」
Macの辞書としてAPI Docを入れてしまう
Page2
手早く「チート」する方法
ローカルにドキュメントサーバを立てる
gemのソースをコマンド一発で参照!
今回のまとめ
Copyright © ITmedia, Inc. All Rights Reserved.