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}_sql
inDatabaseStatements
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のフレームワーク等)からデータを受け取る場合ん事を考慮して、エスケープ処理がされてない状態の値も受け入れるようにした、との事です。