homebrewで入れたruby-buildを最新にする
brew upgrade --HEAD ruby-build
でokでした。
ふと brew update してみたら、gitのコンフリクト起きてたのですが見なかったことにしました。
(また今度時間あるときに解決する。。)
irbでRSpecのmatcherを試す
irb内でさくっと試したくなったので。
require 'rspec' include Rspec::matchers true.should be_true
Mockを試す場合は
require 'rspec/mocks/standalone'
Gemfile.lockをバージョン管理すべきか
http://langturn.com/translations/33?locale=ja
bundlerの作者によると
・gem開発時にはいらない
・アプリ開発時には必要
ということらしい。
bundle installを実行することで、Gemfile.lockが生成され、そのファイルを配布することで
どの環境でも同じgemの依存環境が再現できる。という内容。
現在の僕の運用だと、Gemfile.lockは毎回生成したのだけど、あまりおすすめされない方法らしい。
理由は、developmentでしか必要ないgemをproduction環境に入れたくなかったから。(rspecとかsqliteとか)
デプロイするたびに、
bundle install --without development test
してたのだけど、どうしようかなぁ。
Railsのユニットテスト時にDBの変更が反映されない
しばらく悩んでしまったのだけど
ユニットテスト時のDBが更新されてないだけだった。。
rake db:migrate RAILS_ENV="test"
して解決
この辺うまくやってくれるgemとかあるのかなー
メソッドの名前を聞く
メソッドの名前忘れたときに、そのオブジェクトに聞いてしまうのが手っ取り早いのに気づいた。
Railsが用意してくれるとかメソッド覚えてられない。。
例えば、数値を変換してくれるメソッドを探す時は
1.methods.grep /to_./ #=> [:to_s, :to_f, :to_i, :to_int, :to_r, :to_c, :respond_to_missing?, :to_enum]
みたいに、配列で返してくれる。
methods は、特異クラスのメソッドも全て返却してくれて、
methods(false)を渡すと、特異クラスのメソッドは省いて返却される
他にも色々あるけど(http://ref.xaio.jp/wikis/2/entries/search?q=methods)、ぱっと調べるには、methodsをgrepが楽