From 2b2673cb1e81829e7bea7a3c1f038a3941033a20 Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Sat, 28 Sep 2019 14:21:35 +0900 Subject: [PATCH] add_reference/remove_reference takes keyword arguments --- .../abstract/schema_definitions.rb | 4 ++-- .../test/cases/migration/change_table_test.rb | 24 +++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb index 198c176ebb..3cc1ca2c08 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb @@ -664,7 +664,7 @@ module ActiveRecord # See {connection.add_reference}[rdoc-ref:SchemaStatements#add_reference] for details of the options you can use. def references(*args, **options) args.each do |ref_name| - @base.add_reference(name, ref_name, options) + @base.add_reference(name, ref_name, **options) end end alias :belongs_to :references @@ -677,7 +677,7 @@ module ActiveRecord # See {connection.remove_reference}[rdoc-ref:SchemaStatements#remove_reference] def remove_references(*args, **options) args.each do |ref_name| - @base.remove_reference(name, ref_name, options) + @base.remove_reference(name, ref_name, **options) end end alias :remove_belongs_to :remove_references diff --git a/activerecord/test/cases/migration/change_table_test.rb b/activerecord/test/cases/migration/change_table_test.rb index e49a054d46..d91531f7e0 100644 --- a/activerecord/test/cases/migration/change_table_test.rb +++ b/activerecord/test/cases/migration/change_table_test.rb @@ -19,28 +19,44 @@ module ActiveRecord def test_references_column_type_adds_id with_change_table do |t| - @connection.expect :add_reference, nil, [:delete_me, :customer, {}] + if RUBY_VERSION < "2.7" + @connection.expect :add_reference, nil, [:delete_me, :customer, {}] + else + @connection.expect :add_reference, nil, [:delete_me, :customer] + end t.references :customer end end def test_remove_references_column_type_removes_id with_change_table do |t| - @connection.expect :remove_reference, nil, [:delete_me, :customer, {}] + if RUBY_VERSION < "2.7" + @connection.expect :remove_reference, nil, [:delete_me, :customer, {}] + else + @connection.expect :remove_reference, nil, [:delete_me, :customer] + end t.remove_references :customer end end def test_add_belongs_to_works_like_add_references with_change_table do |t| - @connection.expect :add_reference, nil, [:delete_me, :customer, {}] + if RUBY_VERSION < "2.7" + @connection.expect :add_reference, nil, [:delete_me, :customer, {}] + else + @connection.expect :add_reference, nil, [:delete_me, :customer] + end t.belongs_to :customer end end def test_remove_belongs_to_works_like_remove_references with_change_table do |t| - @connection.expect :remove_reference, nil, [:delete_me, :customer, {}] + if RUBY_VERSION < "2.7" + @connection.expect :remove_reference, nil, [:delete_me, :customer, {}] + else + @connection.expect :remove_reference, nil, [:delete_me, :customer] + end t.remove_belongs_to :customer end end