なるようになるブログ

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

rails commit log流し読み(2015/01/10)

2015/01/10分のコミットです。

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

actionpack/CHANGELOG.md

activesupport/CHANGELOG.md

activerecord/CHANGELOG.md


Default headers, removed in controller actions, will not be reapplied to the test response. actionpack/lib/action_dispatch/testing/test_response.rbの修正です。

TestResponseの場合、controllerで削除されたheaderは、再度適用されないよう修正しています。


Use parallel bundler install.

.travis.ymlの修正です。

bundle installのオプションに--jobs 3 --retry 3を追加してます。並列実行する為ですめ。なお、job数が3なのは、Travisのデフォルトが3の為との事。


Properly persist lock_version as 0 if the DB has no default

activerecord/lib/active_record/locking/optimistic.rbの修正です。

lock_versionカラムがデフォルト値を設定されてない場合に、"0"を返すよう修正しています。

4.1までは0を返していたのですが、4.2でnilを返してしまっていたので、元の挙動に戻すよう修正したようです。


Properly copy nested bind values from subqueried relations

activerecord/lib/active_record/relation/query_methods.rbの修正です。

add_relations_to_bind_valuesメソッドarel.bind_valueの値も取得するよう修正しています。

polymorphic relationship を使用している場合に、メソッド内のサブクエリーでjoinをした際に、値を正しく取得出来ていなかった為対応しています。


Use keyword args on committed! and rolledback!

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

committed!rolledback!メソッドの引数をキーワード引数を使用するよう修正しています。


Copy records to parent transaction should happen on TransactionManager

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

commitメソッドでおこなっていたparent transactionへのrecordの追加処理をcommit_transactionメソッドでやるよう修正しています。


Add SecureRandom.base58

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

ランダムなbase58 文字列を作成する為のSecureRandom.base58メソッドを追加しています。

base58はFlickrの画像の短縮URL作成にも使われているエンコードですね。詳細はwikiご参照。


Remove attributes_protected_by_default reference, since MassAssignmentSecurity was removed from ActiveModel f8c9a4d3e88181

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

attributes_protected_by_defaultメソッドを呼び出せるかどうかのチェック処理を削除しています。attributes_protected_by_defaultメソッド自体が既に削除済みの為との事。


Add missing require

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

require 'securerandom'を追加しています。


Switch Secure Token generation to Base58

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

tokenのgeneratorに、先に追加したBase58を使用するよう修正しています。


Remove support for the protected attributes gem

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

protected_attributes gemサポート用の処理を削除しています。 protected_attributesRails 5がリリースされるまで、のサポートだったので、5はサポート対象外なんですねえ。


Remove note about supported plugins from the releasing docs

RELEASING_RAILS.rdocの修正です。

protected_attributes gemについての説明を削除しています。


formatting pass over CHANGELOGs. [ci skip]

CHANGELOGの修正です。フォーマットの修正、グラマーの修正等を行っています。


Fix typo in PostresSQLAdapter's documentation

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

ConnectionAdaptersのdocにあったタイポを修正しています。


Use IO::NULL always

各テストファイルの修正です。

null device を取得する際に、IO::NULLを使用するよう修正しています。

-        stream.reopen(RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ ? 'NUL:' : '/dev/null')
+        stream.reopen(IO::NULL)