なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2014/08/07)

2014/08/07分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activesupport/CHANGELOG.md

activerecord/CHANGELOG.md

activemodel/CHANGELOG.md


defined? should actually work in current implementation

actionview/lib/action_view/base.rbのdocの修正です。

viewの中でローカル変数が設定されているかどうか確認する為に、local_assigns.has_key? xxxのようなチェックの仕方が出来たのですが、現状この方法を使う必要が無いとの事で削除しています。

同様の事は、defined? xxxで出来るようです。


refactor Redirecting so we do not need a controller instance

actionpack/lib/action_controller/metal/redirecting.rbactionpack/lib/action_dispatch/testing/assertions/response.rbの修正です。

不要なコントローラの生成処理を削除しています。


lazily instantiate application subclasses

railties/lib/rails.rbの修正です。

@applicationの生成処理をメソッドに切り出しています。

これにより、サブクラスでapplicationの生成処理をオーバーライドする事が可能、との事なのですが、どういうケースで便利なんでしょうねえ。


Fix DateTime comparison with DateTime::Infinity object

activesupport/lib/active_support/core_ext/date_time/calculations.rbの修正です。

DateTimeDateTime::Infinity比較処理を行った際にエラーになっていたのを修正しています。

(DateTime.new..DateTime::Infinity.new).class # => Range

この書き方割と便利ですねえ。


Test using turbolinks master

Gemfileの修正です。

テストの際、turbolinksのmasterを使用するよう修正しています。

_compute_redirect_to_locationメソッドの変更に対応する為のようです。


Define id_was to get the previous value of the primary key

activerecord/lib/active_record/attribute_methods/primary_key.rbの修正です。

PrimaryKeyid_wasメソッドが定義されました。

これにより、custom primary keyを使用している場合でも、他のxxx_wasと同様に、変更前の値が取得出来るようになりました。

custom primary keyを使用している際は、id_wasで値の取得が出来なかったんですね。知らなかったです。


Remove ActionController::RaiseActionExceptions.

actionpack/lib/action_controller/test_case.rbの修正です。

ActionController::RaiseActionExceptionsを削除しています。もう使用されていない為、との事です。


Merge pull request #16412 from yevhene/master

activemodel/lib/active_model/secure_password.rbの修正です。

has_secure_passwordに指定するパスワードに、スペースだけの文字列を許容するよう修正しています。

スペースだけの文字列を指定した場合、validateは通るのに値が更新されない、かつエラーも出力されないという事があったらしく、その為の対応との事です。


Fix typo [ci skip]

activemodel/CHANGELOG.mdの修正です。

typoの修正です。


Tables existence check query is executed in large quantities

activerecord/lib/active_record/connection_adapters/schema_cache.rbの修正です。

tableの存在チェック処理で、rails起動時に全てのtableが存在するかまとめてチェックするよう対応しています。