2017/02/08分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activemodel/CHANGELOG.md
- Remove deprecated behavior that halts callbacks when the return is false.
- Deprecate locking records with unpersisted changes.
- Remove deprecated behavior that halts callbacks when the return is false.
- Deprecate
.halt_callback_chains_on_return_false
.
Remove deprecated behavior that halts callbacks when the return is false
deprecateになっていた、callback内でfalse
を返すとcallback chainが止まる、という振る舞いを削除しています。
Deprecate halt_and_display_warning_on_return_false
activesupport/lib/active_support/callbacks.rb
の修正です。
.halt_and_display_warning_on_return_false
メソッドがdeprecateになっています。
halt_and_display_warning_on_return_false
はcallback内でfalse
を返した場合にcallback chainを止める、という過去の挙動を維持するかどうかを指定する為のメソッドでしたが、先のコミットでそもそもその挙動が削除された為、deprecateになりました。
が、そもそもhalt_callback_chains_on_return_false
メソッドはprivate APIで、ユーザにはhalt_callback_chains_on_return_false
メソッドを使用するよう促していた為、halt_callback_chains_on_return_false
メソッドを使用した際にdeprecateメッセージが表示されるよう修正しています。
Deprecate locking of dirty records
activerecord/lib/active_record/locking/pessimistic.rb
の修正です。
dirty record(保存されてないデータを保持しているrecord)に対するlock処理がdeprecateになりました。
u = User.first u.email = "dummy@exmaple.com" u.lock! # => DEPRECATION WARNING: Locking a record with unpersisted changes is deprecated and will raise an exception in Rails 5.2. Use `save` to persist the changes, or `reload` to discard them explicitly. (called from irb_binding at (irb):16)
元々lock!
メソッドではlockをとるのにreload
メソッドを呼び出すようになっており、保存されてないデータは破棄されるようになってしました。ただ、されだとデータが破棄された、という事実がわからなかった為、そもそもdirty recordに対するlock処理はdeprecateとするようにしたとの事です。
Automatically inject the current Rails version in API links [ci skip]
guides/rails_guides/markdown/renderer.rb
の修正です。
rails guideからAPI doc(http://api.rubyonrails.org/)にリンクを貼る際に、自動でRailsのバージョンを入れるよう修正しています。Rails 4.2.6のGuideからはRails 4.2.6のAPI doc(http://api.rubyonrails.org/v4.2.6/)にリンクが貼られるようになっています。おそらく。
Remove unused code now that the deprecated file was removed
activesupport/lib/active_support/core_ext.rb
の修正です。
不要なファイル除外処理を削除しています。
Automatically link to Ruby files referenced in notes [ci skip]
guides/rails_guides/markdown/renderer.rb
の修正です。
rails guideのnoteでRubyのファイルを参照している箇所に、自動でGitHubの該当ファイルへのリンクを作成するよう修正しています。
Merge pull request #27938 from y-yagi/remove_link_to_edgeapi
rails guideのConfiguring Rails Applications
の修正です。
ActionDispatch::SSL
classのdocのリンクがedgeapi.rubyonrails.orgへのリンクになっていたのを、api.rubyonrails.orgへのリンクに修正しています。
deprecate halt_callback_chains_on_return_false
instead of halt_and_display_warning_on_return_false
activesupport/lib/active_support.rb
、
activesupport/lib/active_support/callbacks.rb
の修正です。
halt_and_display_warning_on_return_false
メソッドではなくhalt_callback_chains_on_return_false
メソッドを使用した際にdeprecateメッセージを表示するよう修正しています。
理由は先に書いたとおり、halt_and_display_warning_on_return_false
メソッドはprivate APIで、ユーザが通常使用するメソッドでは無いため。
remove ActiveSupport.halt_callback_chains_on_return_false
from everywhere
deprecateになったhalt_callback_chains_on_return_false
を使用している箇所をまとめて削除しています。