2016/03/02分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
actioncable/CHANGELOG.md
- Safely support autoloading and class unloading, by preventing concurrent loads, and disconnecting all cables during reload.
- Allow channel identifiers with no backslahes/escaping to be accepted by the subscription storer.
activejob/CHANGELOG.md
- Added a configuration option to have active record raise an ArgumentError if the order or limit is ignored in a batch query, rather than logging a warning message.
- Deprecate
{insert|update|delete}_sqlinDatabaseStatements
Publish AS::Executor and AS::Reloader APIs
ActiveSupportの修正です。
Rails application 実行 / reload処理時に任意のコードを実行出来るようにする為のActiveSupport::Executor及びActiveSupport::Reloader APIを追加しています。
Use AS::Executor / AS::Reloader to support reloading in ActionCable
Action Cableの修正です。
Action Cableのreload処理で、先に追加されたActiveSupport::Executor、ActiveSupport::Reloader APIを使用するよう修正しています。
Use AS::Reloader to support reloading in ActiveJob
Active Jobの修正です。
Active Jobで、先に追加されたActiveSupport::Reloader APIを使用出来るよう修正しています。
Don't reference Rails.application from inside a component
actionpack/lib/action_dispatch/middleware/reloader.rb、
actionpack/lib/action_dispatch/railtie.rbの修正です。
reloaderを参照するのにRails.application経由で行っていたのをやめて、ActionDispatch::Reloaderを必ず参照出来るよう修正しています。
Active Recordの修正です。
PostgreSQL adapterで、transaction処理が失敗した際に、transaction内で作成したprepared statementsをDEALLOCATEするよう修正しています。
Merge pull request #23598 from brchristian/activerecord_second_to_last
activerecord/lib/active_record/relation/finder_methods.rbの修正です。
#second_to_last、#third_to_lastメソッドへのテストを追加、及びそもそも処理が正しく動いてなかったのを修正しています。
Delete CTRL-C message as is duplicates Puma
railties/lib/rails/commands/server.rbの修正です。
APサーバにPumaを使用した場合に、Ctrl-Cを使用するとサーバが停止出来る旨のメッセージが2回出てしまっていたので、Rails側で出しているメッセージを削除しています。
Merge pull request #23417 from sgringwe/master
Active Recordの修正です。
batch処理用メソッド(#find_each、#find_in_batches)のrelationにorder、limitが指定されていた場合、元々はwarningメッセージ(Scoped order and limit are ignored, it's forced to be batch order and batch size)が出るようになっていたのですが、これをwarningメッセージではなく、ArgumentErrorをraiseするようにする為のオプション(error_on_ignore)を各メソッドに追加しています。
デフォルトnilで、trueを設定した場合、warningメッセージの代わりにArgumentErrorがraiseするようになります。また、config(config.active_record.timestamped_migrations)でアプリ全体に対してデフォルト値を設定する事も出来ます。
Merge pull request #23935 from y-yagi/convert_cable_coffee_to_javascript
Action Cable / railtiesの修正です。
Railsアプリ生成時に作成するAction Cable用のJSのファイルをCoffeeScriptからJavaScriptに変換しています。CoffeeScriptだとデフォルトでCoffeeScriptへの依存が発生してしまい、それを避ける為に変換しています。
Revert "Merge pull request #23927 from gaurish/jruby_ci_actionpack"
JRuby + Action PackのテストをTravis CIで動作するよう設定を変更した、Merge pull request #23927 from gaurish/jruby_ci_actionpackをrevertしています。
テスト実行の度にJRuby 9.0.5.0のbuildが発生し、そのせいでテストがtimeoutしてしまう事が多発した為、との事です。
Merge pull request #23954 from kamipo/fix_undefined_method_fields
activerecord/lib/active_record/connection_adapters/mysql2_adapter.rbの修正です。
Mysql2Adapter#exec_queryにINSERTのような結果を返さないqueryを指定した際にNoMethodErrorが発生してしまうバグがあったのを修正しています。
Merge pull request #23953 from kamipo/fix_tests_failure_with_prepared_statements_false
Active Recordの修正です。
prepared_statementsにfalseを指定した場合に、動作しないテストが幾つかあったのを、prepared statementsが使用しているテストについては、ActiveRecord::Base.connection.prepared_statementsでprepared_statementsの設定を確認するよう修正しています。
Merge pull request #23961 from kamipo/exclude_name_and_type_from_prepare_column_options
Active Recordの修正です。
prepare_column_optionsから:nameと:typeを除外しています。
Merge pull request #23959 from kamipo/add_test_primary_key_should_be_not_null
activerecord/test/cases/primary_keys_test.rbの修正です。
primary keyのテストで、primary keyがnullで無い事を確認するテストを追加しています。
Remove duplicated test_ prefix [ci skip]
activerecord/test/cases/associations/belongs_to_associations_test.rb、
activesupport/test/core_ext/module_test.rbの修正です。
テスト名にtest_が重複していたのを削除しています。
Merge pull request #23932 from arthurnn/arthurnn/remove_load_paths
全体から、require File.expand_path("../../../load_paths", __FILE__)していたのを削除しています。
今はもうload_pathsは使用していない為、との事です。
Fix ActiveSupport::Reloader.check!
activesupport/lib/active_support/reloader.rbの修正です。
class attributeの定義にattr_accessorを使用していたのを、class_attributeを使用するよう修正しています。
Remove not needed exec_insert in mysql2 adapter
activerecord/lib/active_record/connection_adapters/mysql2_adapter.rbの修正です。
Mysql2Adapter#exec_insertメソッドを削除しています。親クラス(AbstractMysqlAdapter)で定義されている#exec_insertを使えば良い為、との事です。
Deprecate {insert|update|delete}_sql in DatabaseStatements
Active Recordの修正です。
DatabaseStatements moduleのinsert_sql、update_sql、delete_sqlメソッドがdeprecateになりました。今後はpublic methodであるinsert、update、deleteメソッドを使用して下さい、との事です。
Remove requiring load_paths from tools/test.rb
tools/test.rbの修正です。
不要なload_pathsファイルのrequireを削除しています。
Merge pull request #23976 from danielrhodes/enhancement/ac-ping-to-message-type
Action Cableの修正です。
message typeにwelcomeとpingを追加しています。
pingは元々identifierの方に定義されていたのですが、protocolを統一する為に、message typeを使用するよう修正しています。welcomeはconnection接続確認用に使うようのようです。
Fix description in cookies_serializer.rb being corrupted when updating
railties/lib/rails/generators/rails/app/app_generator.rbの修正です。
rails:update実行時に、cookies_serializer.rbでcookies_serializerに:jsonが定義されていた場合、:marshalに置換する、という処理を行っているのですが、その際にコメント部分まで置き換えてしまっており、コメントについては置き換えを行わないよう修正しています。
actionpack/lib/action_controller/metal/implicit_render.rbの修正です。
アクション名と一致するテンプレートはあったがformatやvariantが一致しなかった場合に出力するエラーメッセージにスペースが足りてない箇所があったのを、修正しています。
Fix typo in app_generator_test.rb
railties/test/generators/app_generator_test.rbの修正です。
テスト名でmarshalをmarchalにタイポしている箇所があったのを修正しています。
[ci skip] Use rails routes instead of rake routes in inspector test description
actionpack/test/dispatch/routing/inspector_test.rbの修正です。
routes inspectorのテストのテスト名を、test_rake_routes_xxxからtest_rails_routes_xxxにまとめて修正しています。
Accept JSON with no backslashes/escaping
Action Cableの修正です。
channel identifiersにescape処理が行われていない状態の値も指定出来るよう修正しています。
元々はescape処理が行われた状態の値(ex: {"command":"subscribe","identifier":"{\"channel\":\"CommentsChannel\"}"})のみが渡される想定になっていたのですが、Rails以外(JSのフレームワーク等)からデータを受け取る場合ん事を考慮して、エスケープ処理がされてない状態の値も受け入れるようにした、との事です。