2016/03/01分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
activejob/CHANGELOG.md
Merge pull request #18766 from yasyf/issue_17864
activerecord/lib/active_record/associations/preloader/through_association.rb
の修正です。
has_many :through
association を使用している + eager loadした場合に、order
に指定した値が使用されないバグがあったのを修正しています。
class Article < ActiveRecord::Base has_many :by_lines, -> { order(:position) } has_many :authors, through: :by_lines end
これにより、上記のようなmodelがあった場合に、authors
をeager loadした際、by_lines
に指定したorder
が使用されるようになっています。
Merge pull request #23948 from ctm/remove_pathological_regexp
activerecord/lib/active_record/log_subscriber.rb
の修正です。
sql_color
メソッドでqueryに色をつける際のSELECT
queryのチェック条件を緩めています。
- when /\s*.*?select .*for update/mi, /\A\s*lock/mi + when /select .*for update/mi, /\A\s*lock/mi
SELECT
の直前に改行が入る場合の事を考慮して、との事です。
Merge pull request #23927 from gaurish/jruby_ci_actionpack
.travis.yml
の修正です。
JRuby + Action PackのテストをTravis CIで動作するよう設定を変更しています。
- Updating the dummy app template to have rails_command instead of rake
activejob/test/support/integration/dummy_app_template.rb
の修正です。
db:migrate
を実行するのにrake
メソッドを使用していたのを、rails_command
メソッドを使用するよう修正しています。
Respect through association scopes when used with polymorphic
activerecord/lib/active_record/reflection.rb
の修正です。
has_many
associationにsource_type
を指定、かつpolymorphic
を使用している場合に、正しくassociationを参照出来ないバグがあったのを修正しています。
generate config/spring.rb in new applications [closes #18874]
railties/lib/rails/generators/rails/app/app_generator.rb
railties/lib/rails/generators/rails/app/templates/config/spring.rb
の修正です。
新規Railsアプリを生成する際、Springで監視する対象を記載したconfig/spring.rb
を生成するよう修正しています。
config/spring.rb
の中身は下記の通りです。
%w( .ruby-version .rbenv-vars tmp/restart.txt tmp/caching-dev.txt ).each { |path| Spring.watch(path) }
Remove inconsistency in the Action Cable README [ci skip]
actioncable/README.md
の修正です。
Action CableはPumaやThinのようなスレッドモデルのAPサーバじゃないと動作しない旨記載されていたのですが、実際はそうではない(Rack socket hijacking APIに対応していれば動作する)為、その旨説明を修正しています。
Merge pull request #23966 from jeremy/activejob/pare-down-async-adapter-for-low-footprint-dev
Active Jobの修正です。
元々、async adapterはqueue毎にthread poolを持ち、かつ、2〜10 * CPU数まで保持するようになっていました。
これを、一つのthread poolを全てのqueuesで保持するように改善、かつ、thread poolの数を0〜CPU数までと抑えるよう修正しています。dev/test環境で省スペースで処理を行えるようにする為、との事です。
Deprecate :controller and :action path parameters
Action Packの修正です。
routes.rbのpath parametersに:controller
、:action
を使用するのがdeprecateになりました。
下記みたいな書き方ですね。
get ':controller(/:action)'
path parametersに:controller
、:action
を記載出来るようになっているの、多くのissueの根本的な原因になっており、それによりsecurity releasesを出す事があった為、との事です。
Support :any
variants lookup in PathResolver
https://github.com/rails/rails/commit/d150f59f114dc2d362b9d8f96df88ca4fea09dc4
actionview/lib/action_view/template/resolver.rb
の修正です。
PathResolver#build_query
メソッドでqueryを生成する際に、variants
が:any
だった場合のケアを追加しています。
do not set Action Cable's config when specify --skip-action-cable
option
railties/lib/rails/generators/rails/app/templates/config/environments/production.rb.tt
の修正です。
--skip-action-cable
オプションを指定した場合に、デフォルトで生成するproduction.rb
にAction Cableに関するconfigを記載しないよう修正しています。
Deprecate Module.local_constants
Active Supportの修正です。
module内で定義されているconstantの名前の一覧を取得する為のModule.local_constants
メソッドがdeprecateになりました。
元々Ruby 1.8までに綺麗に値をとれる方法が無くて作成されたメソッドだったらしいのですが、Ruby 1.9以降ではModule.constants(false)
を使えば値が取得出来るので、そちらを使用するようにとの事です。
railties/test/generators/app_generator_test.rb
の修正です。
Process.fork
が使えない環境でGemfileにspring
が定義されてない事を確認するテストで、forkのmock処理を2回行うよう修正しています。
- assert_called_with(Process, :respond_to?, [:fork], returns: false) do + assert_called_with(Process, :respond_to?, [[:fork], [:fork]], returns: false) do
assert_called_with
メソッドの中でProcess.respond_to?(fork)
が複数回呼ばれる為、対応したとの事です。自動で全部の呼び出しmockしている訳ではないんですねえ。