blank? を使う

Rails では blank? とかよく使いますが、正直よく分かってませんでした。String が ” な時と、たまたま nil だったときに両方判定してくれる便利そうなもの。っていう認識だったんですが、ソース見てテンションあがった\(^o^)/

blank.rb

NilClass, FalseClass, TrueClass に blank? メソッドつけてるんですね。すごい。

よく、Arrayクラスを empty? で評価しようとして nil だと Exception なんてよくありますが、これも blank? でOKです。エラー出ないように頑張って書いていた、

if ary.nil? || ary.empty?

みたいなコードは使わず、

if ary.blank?

で書けるんですねー。賢くなりました。

blank? を使う

Railsでautotestな開発環境

最近のRails開発環境は、Vimとautotestで書いてる。環境構築方法のメモ。

# gem install redgreen zentest diff-lcs

 redgreen を入れると、テストの成功を緑色で、失敗を赤色で表示してくれる。どうでもいいようだけど、autotest を入れるとすごく大事。

 autotest は、~/.autotest もしくはカレントディレクトリの autotest というファイルを読み込んで、それを実行してくれるものらしい。autotestでしょでしょ? の記事のソースを頂いて ~/.autotest に置いている。すこぶるいい感じ!

 これで、screen でターミナルを分割して片側で autotest を動かして開発。ファイルを保存すると、それに関連するテストを自動的に実行してくれる。ここで、さっきの redgreen がすごい威力を発揮する。いつも、デュアルディスプレイ環境で書いているのだが、実際にエディタは片側にあるだけ。他方では、autotest がひたすらテストを行ってる。エディタ画面しか見てなくても、redgreen で色がつくと、何のテストかは分からないけど通ったか通ってないかが見なくても目に入ってくる。

 TDDで書いてるので、初めテスト通らなくて書き終えるとテスト通るわけだけど、それは当然。たまに、変な変更してテスト通らなくなっちゃったときとか、autotest のおかげですぐ気づく。戻りはかなり減ってます。

 どこで見掛けたか忘れたけど、いつもは screen の片側で

$ tail -f log/development.log & autotest

としてます。これで、ブラウザでアクセスしているときはひたすらログが表示され、コーディングしているときは延々テストが実行されます。これもPCのスペックがあがったおかげですね(´∀`)

Railsでautotestな開発環境

ThunderBird拡張まとめ

 使ってるThunderBird拡張のまとめ。

quotecollapse
返信の引用を折り畳んでくれるプラグイン。長くなりがちなメールを見やすくしてくれる。
Preferential
Firefox の about:config みたいなことが出来るようになる。メール転送のデフォルトがインラインになるように設定するのに使った。
Signature Editor
署名を簡単に変更出来るようになる。
Quicktext
登録した定型文を簡単に入力できるようにする。ビジネスでは決まり文句がたくさんあるので、仕事で使うにはすごく便利。プライベートで使うなら、コピペのテンプレとか登録しとくとか。でも、最近はプライベートでメールすることって携帯くらいしかないなー。
ThunderBird拡張まとめ