Skip to content

Commit 9a14d5a

Browse files
bivanalharcysjonathan
authored andcommitted
fix(function): column accepts **args instead of array
1 parent d45b076 commit 9a14d5a

File tree

3 files changed

+25
-23
lines changed

3 files changed

+25
-23
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
.ruby-version
66
gemfiles/*.lock
77
Gemfile.lock
8+
coverage/*
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
module ActiveRecord::Userstamp::MigrationHelper
1+
module ActiveRecord::Userstamp::MigrationAdditions
22
extend ActiveSupport::Concern
33

4-
def userstamps(*args)
4+
def userstamps(**args)
55
config = ActiveRecord::Userstamp.config
6-
column(config.creator_attribute, :integer, *args)
7-
column(config.updater_attribute, :integer, *args)
8-
column(config.deleter_attribute, :integer, *args) if config.deleter_attribute.present?
6+
column(config.creator_attribute, :integer, **args)
7+
column(config.updater_attribute, :integer, **args)
8+
column(config.deleter_attribute, :integer, **args) if config.deleter_attribute.present?
99
end
1010
end
1111

1212
ActiveRecord::ConnectionAdapters::TableDefinition.class_eval do
13-
include ActiveRecord::Userstamp::MigrationHelper
13+
include ActiveRecord::Userstamp::MigrationAdditions
1414
end

spec/lib/migration_spec.rb

+18-17
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@
55
class self::DefaultRandom < ActiveRecord::Base
66
stampable
77
end
8+
89
subject { self.class::DefaultRandom.new }
910

1011
temporary_table(:default_randoms) do |t|
11-
t.userstamps(null: false)
12+
t.userstamps(**{null: false})
1213
end
1314

1415
with_temporary_table(:default_randoms) do
@@ -30,22 +31,14 @@ class self::DefaultRandom < ActiveRecord::Base
3031
end
3132

3233
context 'when overridden attribute names are used' do
33-
before(:each) do
34-
ActiveRecord::Userstamp.configure do |config|
35-
config.creator_attribute = :created_by
36-
config.updater_attribute = :updated_by
37-
config.deleter_attribute = :deleted_by
38-
end
39-
class self.class::OverriddenRandom < ActiveRecord::Base
40-
stampable
41-
end
34+
ActiveRecord::Userstamp.configure do |config|
35+
config.creator_attribute = :created_by
36+
config.updater_attribute = :updated_by
37+
config.deleter_attribute = :deleted_by
4238
end
43-
after(:each) do
44-
ActiveRecord::Userstamp.configure do |config|
45-
config.creator_attribute = :creator_id
46-
config.updater_attribute = :updater_id
47-
config.deleter_attribute = :deleter_id
48-
end
39+
40+
class self::OverriddenRandom < ActiveRecord::Base
41+
stampable
4942
end
5043

5144
subject { self.class::OverriddenRandom.new }
@@ -54,7 +47,15 @@ class self.class::OverriddenRandom < ActiveRecord::Base
5447
t.userstamps
5548
end
5649

57-
with_temporary_table(:overridden_randoms, :each) do
50+
after do
51+
ActiveRecord::Userstamp.configure do |config|
52+
config.creator_attribute = :creator_id
53+
config.updater_attribute = :updater_id
54+
config.deleter_attribute = :deleter_id
55+
end
56+
end
57+
58+
with_temporary_table(:overridden_randoms, :all) do
5859
it 'has a created_by attribute' do
5960
expect(subject.has_attribute?(:created_by)).to be true
6061
end

0 commit comments

Comments
 (0)