2014/08/30分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
Don't allow AR::Tasks::DatabaseTasks.migrate to mutate Migration.verbose value
activerecord/lib/active_record/tasks/database_tasks.rb
の修正です。
migrate
メソッドの後処理でMigration.verbose
の値を元の値を設定し直すよう修正しています。
元々は、元の値すら行っていなかったのですが、テストがランダムに行われるようになって、失敗するようになってしまった為対応したとの事です。
Fixed Active Job Backburner adapter
activejob/lib/active_job/queue_adapters/backburner_adapter.rb
の修正です。
enqueue_at
メソッドで処理を遅延させる時間の計算が間違えてたのを修正しています。
Added yield to Object#presence
activesupport/lib/active_support/core_ext/object/blank.rb
の修正です。
Object#presence
メソッドにブロックを渡せるよう対応しています。
doc及びテストから抜粋。
"sally".presence(&:upcase) || "Nobody" # => "SALLY"
Update examples to show real worth
activesupport/lib/active_support/core_ext/object/blank.rb
のdocの修正です。
上で追加したObject#presence
メソッドについて、サンプルを追加しています。
# before project.account.owner ? project.account.owner.name.first || 'Nobody' # after project.account.owner.presence { name.first } || 'Nobody'
上記について、次のコミットで再度修正が行われており、サンプルは修正後の書き方です。
元々のサンプルがあまり良くない気も。この場合、きっとtry
使いますよねえ。
Use instance_eval on @tenderlove's suggestion :trollface:
activesupport/lib/active_support/core_ext/object/blank.rb
の修正です。
上で追加したObject#presence
メソッドについて、ブロックの実行をyieldを使用していたのを、instance_evalを使用するように修正しています。
元々がproject.account.owner.presence { |p| p.name.first }
だったのが、project.account.owner.presence { name.first }
こう書けるようになっています。
Clarify the origin of this great addition to Rails :trollface: :trollface :trollface:
activesupport/test/core_ext/object/blank_test.rb
の修正です。
- assert_equal "SALLY", "sally".presence { upcase } || "Nobody" + assert_equal "THIS WAS TENDERLOVE'S IDEA", "this was tenderlove's idea".presence { upcase } || "Nobody"
とても楽しげな感じ良いですねえ。このコミットに関するコメントも大分良いです。
ActiveSupportの修正です。
上記数コミットで対応してきたObject#presence
の対応ですが、Object#try
で良くない? とういう流れになったようで、
Object#presence
の対応は全て削除して、Object#try
メソッドでinstance_eval
を行うよう修正しています。
@person.try { upcase.truncate(50) }
reduce object allocations in utc_offset
activesupport/lib/active_support/values/time_zone.rb
の修正です。
utc_offset
メソッドでtry
を使用していたのを、後置ifでチェックを行うよう修正しています。
try
メソッドをコールすることでArrayオブジェクトを生成してしまう為、アロケーションを減らす為、削除したとの事です。
Forgot to set Migration.verbose at f8d9a51949d6f6cfcab7cc7d501e137836eb88dc :bomb:
activerecord/lib/active_record/tasks/database_tasks.rb
の修正です。
元々あったMigration.verbose
の設定処理を誤って削除してしまっていたので戻しています。
Bring back the test cases for presence
activesupport/test/core_ext/object/blank_test.rb
の修正です。
Object#presence
の処理の戻しを行う際、誤って既存のテストまで削除してしまっていたのを戻しています。。
Merge pull request #16644 from Agis-/drb-tests-actionpack-vagrant
actionpack/test/abstract_unit.rb
の修正です。
ActionPackのテストを行う際、一時ファイルの保存場所に/tmpを使用するよう修正しています。
Refer to the library name instead of the constant
各ライブラリのgem_version.rb
の修正です。
ライブラリの名称にスペースをいれるよう修正しています。
- # Returns the version of the currently loaded ActionMailer as a <tt>Gem::Version</tt> + # Returns the version of the currently loaded Action Mailer as a <tt>Gem::Version</tt>
[ci skip] add line about text layout
rails guideのLayouts and Rendering in Rails
の修正です。
layoutファイルについての説明を追加しています。