Riding Rails: Rails 3.1.0 has been released!
rails guidesに3.1.0 release notesが出ていますが、とりあえずアナウンスをご紹介。
Rails3.1.0ハイライト
ActionPack
・new asset pipelinenew asset pipeline
まだちゃんと読んでませんが、sprocketsの機能を使って
jsやcssをまとめたりminify(圧縮)したりして帯域を圧縮してくれるっぽい。
・Streaming response
これがいまいちよくわからん。
ActionController::Streaming
を見ると、遅延評価で表示速度を上げるっぽいのかな。
Unicorn with Nginx だそうです。
・RJSがgemに
ActiveModel
・attr_accessible系 にasオプションが利用可
rollを渡せるらしい。
・SecurePasswordメソッドが追加
BCryptとsaltでpasswordを暗号化してくれるっぽい。
ActiveRecord
・Prepared statement cacheを統合
insertとcreate時のprepared statmentのキャッシュを統合したっぽい。
・Associationsはrefactoredしてsimpleかつメンテナンスしやすくなったらしい
・default_scope
blockやlambdaやオブジェクトを渡して呼べるらしい(遅延評価)
・PostgreSQLは8.2以上
・Migrationはinstance methodを使用するようになった。
class methodじゃなくinstance methodを使うようになった。
self.up から up メソッド。
・Migration 可逆に。
down書かなくてOK。見た目すっきり。
明示的にもかける。
・add_indexが自動で
外部参照列に対してindexが張られるようになったっぽい。
(これは、自動でやって欲しかった機能の一つ)
ActiveSupport
・BufferedLogger
binaryへ。textmodeもportable newlines(なんやこれ、普通の改行のこと?)の出力時には使ってる。
これは、どうなんやろうか。
・Object#in? が追加
オブジェクトが他のオブジェクトに含まれているかどうか
・Dependencies::ClassCache
再読み込み可能な参照を保持できるクラス。(どういうこっちゃ。Identity Mapのこと?)
・weeks_ago and pref_week がDate/DateTime/Timeに追加
・JSON
decodeは1.8系の場合はyamlバックエンドを除いたOkJson、1.9系はdefultのが使われているらしい。
(よくわからん)