なるようになるブログ

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

rails commit log流し読み(2017/03/18)

2017/03/18分のコミットです。

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

activerecord/CHANGELOG.md


Merge pull request #28318 from bogdanvlviv/remove-ability-update-locking_column-value

Added ability update locking_column valueで追加された、optimize lockに使用するカラムの値(lock version)を明示的に更新出来るようにした処理を削除しています。

この対応の影響で、lock処理が正しく動作しない(同時に同じデータを更新しようとした際に、後の更新が買ってしまう)バグが発生してしまった為。


Merge pull request #28341 from mtsmfm/pass-options-to-driven-by

actionpack/lib/action_dispatch/system_test_case.rbactionpack/lib/action_dispatch/system_testing/driver.rbの修正です。

SystemTestCase.driven_byメソッドに、Capybara::Selenium::Driverに渡すオプションを指定出来るよう修正しています。

class ApplicationSystemTestCase < ActionDispatch::SystemTestCase
  driven_by :selenium, using: :chrome, screen_size: [1400, 1400], options: { url: "http://chrome:4444/wd/hub" }
end

Add support for calling nested direct routes (#28462)

Action Packの修正です。

先に定義したdirect routesをdirect routes内で使用出来るよう対応しています。

resources :buckets

direct :recordable do |recording|
  route_for(:bucket, recording.bucket)
end

direct :threadable do |threadable|
  route_for(:recordable, threadable.parent)
end
threadable_path(threadable) # => /buckets/1
threadable_url(threadable)  # => http://example.com/buckets/1

uniq was deprecated and removed already

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

ActiveRecord::Querying moduleがalldelegateするメソッドから、deprecateになったいたuniqメソッドを削除しています。


Merge pull request #28096 from prathamesh-sonpatki/5-1-release-notes-first-draft

rails guideにRuby on Rails 5.1 Release Notesを追加しています。今のところMajor featuresのみ。


Fix resolve usage in the release notes

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

resolveメソッドのexampleに不要なclassオプションがあったのを削除しています。


Merge pull request #28154 from aripollak/remove-comments-from-structure-sql

Active Recordの修正です。

postgresql adapterを使用している場合に、db:structure:dump taksが生成するstructure.sqlの先頭のコメント行を出力しないよう修正しています。

先頭のコメントにPostgreSQLのバージョンが含まている事があり、その場合、環境ごとに使用しているPostgreSQLのバージョンが違うと毎回差分が発生してしまうので、それを避ける為に、との事です。環境合わせろよ、という気がしないでも無いのですが…


Merge pull request #28191 from eugeneius/string_assoc_order

Active Recordの修正です。

orderメソッドにHashを渡した場合に、HashのkeyにArel.sqlを渡せるよう修正しています。これにより、下記のような書き方が出来るようになっています。

Topic.order(Arel.sql("length(title)") => :asc)

Always use original url_for when generating direct routes

actionpack/lib/action_dispatch/routing/route_set.rbactionpack/lib/action_dispatch/routing/url_for.rbの修正です。

view contextでdirectで定義したroutesを呼び出した際に、正しくURLが取得出来ないバグがあったのを修正しています。

Action Viewでurl_forをオーバライドしてしまう為、期待していたメソッドの呼び出しが正しく行えなかった為問題になっていました。Action Pack側でメソッド名を変更して対応しています。