2018/02/22分のコミットです。
CHANGELOGへの追加はありませんでした。
activerecord/lib/active_record/tasks/database_tasks.rb、
railties/lib/rails/application/configuration.rbの修正です。
database configurationをロードした際に、defaultセクションを削除するよう修正しています。
元々はそのまま保持していたのですが、DatabaseTasksでconfigurationを参照する際にdefaultセクションの場合は処理をスキップする、という処理が入っていた為、ロード時に削除し、チェックは行わないすむよう修正しています。
activerecord/lib/active_record/railties/databases.rake、
activesupport/lib/active_support/xml_mini.rbの修正です。
クラスメソッドを呼び出すのに::を使用していたのを、.を使用するよう修正しています。
- if data = YAML::load(ERB.new(IO.read(file)).result) + if data = YAML.load(ERB.new(IO.read(file)).result)
Do not add routes when actions are not specified
railties/lib/rails/generators/rails/controller/controller_generator.rbの修正です。
controller generatorでactionが指定されていない場合は、routesにnamespaceを追加しないよう修正しています。Rails 5.1までと挙動を合わせる為。
We should call methods with .method_name not ::method_name.
他にもクラスメソッドを呼び出すのに::を使用している箇所があったのを、.を使用するよう修正しています。
Add cop for preferring 'Foo.method' over 'Foo::method'
.rubocop.ymlにStyle/ColonMethodCall copを追加、及び、各ファイルにcopを適応しています。
railties/lib/rails/application/configuration.rbの修正です。
database configurationをロードした際に、databaseの設定が無いセクションを削除するよう修正しています。
Delete default configurationでdefaultセクションを削除するよう修正したのですが、それだとdefaultセクションにdatabaseの設定があった場合に問題になる(YAMLのアンカーを使っている場合)為、databaseの設定が無い箇所を削除する修正しています。
Properly escape column name embedded into regexp
activerecord/test/cases/base_test.rbの修正です。
test_default_values_are_deeply_duppedでqueryにquoted_idが含まれているか確認する際に、quoted_idをRegexp.escapeで囲むよう修正しています。
- assert_match(/SELECT #{quoted_id}.* FROM developers/, query) + assert_match(/SELECT #{Regexp.escape(quoted_id)}.* FROM developers/, query)
SQLServerAdapterではカラム名に中括弧を使うようになっており(e.g.[id])、括弧をエスケープしないと正しくマッチしない為。