ActiveSupportは、Rubyの標準ライブラリ拡張みたいなもの。
とてもセンスのいいメソッドがそろってます。
例えば、一ヶ月前のタイムスタンプが、
Time.now.last_month
で取ってこれます。ブログを作ってると多く使うメソッドです。
Rails命名規則の「テーブル名は複数形でモデル名は単数形」のルールも、ActiveSupportの機能。String.pluralize、
(実体は、$RUBY_GEMS/active_support/inflections.rb)。
オブジェクト指向
手続き型のプログラムでは、
mklastmon()
とかいう関数を作りがちですが、Time.now.last_monthと書いた方が、会話をしているようでなんとなく楽しい感じがします。
PHPの関数名は一見して何をやるのかわからないことが多くて、いつもリファレンスを読んでてイライラします。その点、RubyやJavaはすぐにわかる。
「オブジェクト指向とは?」なんて議論が横行しがちですが、日常会話のようにプログラミングできるってことが、オブジェクト指向ってことなんではないかと。簡単な話だと思うんですけどね。