なるようになるブログ

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

rails commit log流し読み(2016/09/17)

2016/09/17分のコミットです。

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

activerecord/CHANGELOG.md


improve error message when include assertions fail

値が含まれている / 含まれていない事を確認する為のテストで、assertメソッドを使っていたのを、assert_includes / assert_not_includesを使用するよう修正しています。

assert_includes / assert_not_includesの方が、テストが失敗した際に詳細なメッセージが表示される為。


Fix small grammar issue introduced in #26382

rails guideのRuby on Rails 5.0 Release Notesの修正です。

transaction callbacksでエラーがおきた際にエラーを握りつぶさないよう修正した対応についてのエントリーのグラマーの修正を行っています。


fix formatting of Cache::Store#fetch [ci skip]

activesupport/lib/active_support/cache.rbのdocの修正です。

ActiveSupport::Cache::Store#fetchメソッドのdocで、バッククォート("")を使用していたのを+または`を使用するよう修正しています。rdocではエスケープにバッククォートは使用出来ない為。


[ci skip] Fix bad examples in rdoc

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

ActiveModel::Conversion#to_key#to_paramメソッドのexampleで.createメソッドを使ってインスタンスの生成を行っていたのですが、example内で使用しているクラスはActiveRecord::Baseを継承していないクラスであり、.createメソッドは使えない為、.newメソッドを使ってインスタンス生成処理を行うよう修正しています。


Merge pull request #26497 from koppen/26496-touch_with_optimistic_locking

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

optimistic lockingを使用している場合に、touchメソッド実行後にattributesの変更内容にlock_versionが含まれてしまうバグがあったのを修正しています。

class Hammer < ActiveRecord::Base
end
mc = Hammer.create!
#=> #<Hammer id: 1, lock_version: 0, created_at: "2016-09-14 14:06:12", updated_at: "2016-09-14 14:06:12">
mc.lock_version
# => 0
mc.touch
# => true
# before

mc.changed?
# => true
mc.changes
# => {"lock_version"=>[0, "1"]}
# after

mc.changed?
# => false
mc.changes
# => {}

Merge pull request #26446 from kamipo/rename_type_var_name_to_type

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

[Don't use \Column` for type casting in Relation calculations · rails/rails@36bd52b](https://github.com/rails/rails/commit/36bd52b4826dfff02f97247a86371ee90f043ca9)でActiveRecord::calculations#column_forメソッドがtype_forメソッドにリネームされたのですが、その戻り値を保持する変数名がcolumnのままになっていたので、戻り値のクラスに合わせて変数名もtypeに修正しています。