なるようになるブログ

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

rails commit log流し読み(2016/05/01)

2016/05/01分のコミットです。

CHANGELOGへの追加はありませんでした。


Replace Rails.version.to_f with Active Record

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

ActiveRecord::Migration.current_versionメソッドで、versionを取得するのにRails.versionを使用していたのを、ActiveRecord::VERSION::STRINGを使用するよう修正しています。

Rails.versionメソッドrailtiesに定義されているのですが、Active Recordはrailties無しで使用出来る為、自コンポーネント内で定義されているバージョン情報を取得するようにしています。


Fix actionpack typos [ci skip]

actionpack/lib/action_controller/metal/rescue.rbactionpack/lib/action_controller/metal/strong_parameters.rbのdocの修正です。

各doc内のグラマーの修正を行っています。


Fix grammar.

actioncable/lib/action_cable/remote_connections.rbのdocの修正です。

ActionCable::RemoteConnections::RemoteConnectionクラスのdocのグラマーの修正を行っています。


fix incorrect module name [ci skip]

rails guideのUsing Rails for API-only Applicationsの修正です。

module名が間違えている箇所(AbstractController::Layouts -> ActionView::Layouts)があったのを修正しています。


Fix initial value effects for sum along to ruby 2.4

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

Enumerable#sumRange#sumメソッドで、戻り値の型が引数に指定した値の型になるよう修正しています。

# before
[1, 2, 3].sum(0.0)
# => 6

# after
[1, 2, 3].sum(0.0)
# => 6.0

Ruby 2.4のArray#sumの挙動と合わせる為、との事です。


Replace ActionDispatch::LoadInterlock with ActionDispatch::Executor in guides [ci skip]

Rails guideの修正です。

Publish AS::Executor and AS::Reloader APIs by matthewd · Pull Request #23807 · rails/railsActionDispatch::LoadInterlockクラスはActionDispatch::Executorクラスに変更されたのですが、guideの各箇所で古いクラス名(ActionDispatch::LoadInterlock)のままになっていたのを、新しいクラス名(ActionDispatch::Executor)にまとめて変更しています。


Merge pull request #24713 from tomkadwill/fix_counter_cache_increment

activerecord/lib/active_record/associations/belongs_to_association.rbactiverecord/lib/active_record/associations/builder/belongs_to.rbの修正です。

associatioを変更した場合に、counter cacheが2回インクリメントされてしまうバグがあったのを修正しています。

テストより。

topic = Topic.create(title: "Zoom-zoom-zoom")
reply = Reply.create(title: "re: zoom", content: "speedy quick!")

reply.topic = topic
reply.save  # ここのsave時にcounter cacheが2回インクリメントされてしまっていた