Skip to content

Commit 6e350cb

Browse files
committed
Use kwargs
1 parent b4739cc commit 6e350cb

File tree

6 files changed

+73
-55
lines changed

6 files changed

+73
-55
lines changed

lib/generators/fx/function/function_generator.rb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@ def create_migration_file
3434
return if migration_helper.skip_creation?
3535

3636
template_info = migration_helper.migration_template_info(
37-
:function,
38-
file_name,
39-
version_helper.updating_existing?,
40-
version_helper.current_version
37+
object_type: :function,
38+
file_name: file_name,
39+
updating_existing: version_helper.updating_existing?,
40+
version: version_helper.current_version
4141
)
4242

4343
migration_template(
@@ -62,9 +62,9 @@ def version
6262
def migration_class_name
6363
if version_helper.updating_existing?
6464
migration_helper.update_migration_class_name(
65-
:function,
66-
class_name,
67-
version
65+
object_type: :function,
66+
class_name: class_name,
67+
version: version
6868
)
6969
else
7070
super
@@ -88,8 +88,8 @@ def function_definition_path
8888

8989
def version_helper
9090
@_version_helper ||= Fx::Generators::VersionHelper.new(
91-
file_name,
92-
function_definition_path
91+
file_name: file_name,
92+
definition_path: function_definition_path
9393
)
9494
end
9595

@@ -98,11 +98,11 @@ def migration_helper
9898
end
9999

100100
def definition
101-
version_helper.definition_for_version(version, :function)
101+
version_helper.definition_for_version(version: version, type: :function)
102102
end
103103

104104
def previous_definition
105-
version_helper.definition_for_version(previous_version, :function)
105+
version_helper.definition_for_version(version: previous_version, type: :function)
106106
end
107107

108108
def updating_existing_function?

lib/generators/fx/migration_helper.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ def active_record_migration_class
1818
end
1919
end
2020

21-
def update_migration_class_name(object_type, class_name, version)
21+
def update_migration_class_name(object_type:, class_name:, version:)
2222
"Update#{object_type.capitalize}#{class_name}ToVersion#{version}"
2323
end
2424

2525
def migration_template_info(
26-
object_type,
27-
file_name,
28-
updating_existing,
29-
version
26+
object_type:,
27+
file_name:,
28+
updating_existing:,
29+
version:
3030
)
3131
if updating_existing
3232
{

lib/generators/fx/trigger/trigger_generator.rb

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,10 @@ def create_migration_file
3131
return if migration_helper.skip_creation?
3232

3333
template_info = migration_helper.migration_template_info(
34-
:trigger,
35-
file_name,
36-
version_helper.updating_existing?,
37-
version_helper.current_version
34+
object_type: :trigger,
35+
file_name: file_name,
36+
updating_existing: version_helper.updating_existing?,
37+
version: version_helper.current_version
3838
)
3939

4040
migration_template(template_info[:template], template_info[:filename])
@@ -56,9 +56,9 @@ def version
5656
def migration_class_name
5757
if version_helper.updating_existing?
5858
migration_helper.update_migration_class_name(
59-
:trigger,
60-
class_name,
61-
version
59+
object_type: :trigger,
60+
class_name: class_name,
61+
version: version
6262
)
6363
else
6464
super
@@ -86,8 +86,8 @@ def trigger_definition_path
8686

8787
def version_helper
8888
@_version_helper ||= Fx::Generators::VersionHelper.new(
89-
file_name,
90-
trigger_definition_path
89+
file_name: file_name,
90+
definition_path: trigger_definition_path
9191
)
9292
end
9393

@@ -96,7 +96,7 @@ def migration_helper
9696
end
9797

9898
def definition
99-
version_helper.definition_for_version(version, :trigger)
99+
version_helper.definition_for_version(version: version, type: :trigger)
100100
end
101101

102102
def updating_existing_trigger?

lib/generators/fx/version_helper.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module Fx
22
module Generators
33
# @api private
44
class VersionHelper
5-
def initialize(file_name, definition_path)
5+
def initialize(file_name:, definition_path:)
66
@file_name = file_name
77
@definition_path = definition_path
88
end
@@ -23,7 +23,7 @@ def creating_new?
2323
previous_version == 0
2424
end
2525

26-
def definition_for_version(version, type)
26+
def definition_for_version(version:, type:)
2727
case type
2828
when :function
2929
Fx::Definition.function(name: file_name, version: version)

spec/generators/fx/migration_helper_spec.rb

Lines changed: 30 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,23 @@
4545
it "generates correct class name for functions" do
4646
helper = described_class.new({})
4747

48-
result = helper.update_migration_class_name(:function, "TestFunction", 3)
48+
result = helper.update_migration_class_name(
49+
object_type: :function,
50+
class_name: "TestFunction",
51+
version: 3
52+
)
4953

5054
expect(result).to eq("UpdateFunctionTestFunctionToVersion3")
5155
end
5256

5357
it "generates correct class name for triggers" do
5458
helper = described_class.new({})
5559

56-
result = helper.update_migration_class_name(:trigger, "TestTrigger", 2)
60+
result = helper.update_migration_class_name(
61+
object_type: :trigger,
62+
class_name: "TestTrigger",
63+
version: 2
64+
)
5765

5866
expect(result).to eq("UpdateTriggerTestTriggerToVersion2")
5967
end
@@ -63,7 +71,12 @@
6371
it "returns create template info for new objects" do
6472
helper = described_class.new({})
6573

66-
result = helper.migration_template_info(:function, "test_func", false, 1)
74+
result = helper.migration_template_info(
75+
object_type: :function,
76+
file_name: "test_func",
77+
updating_existing: false,
78+
version: 1
79+
)
6780

6881
expect(result).to eq({
6982
template: "db/migrate/create_function.erb",
@@ -74,7 +87,12 @@
7487
it "returns update template info for existing objects" do
7588
helper = described_class.new({})
7689

77-
result = helper.migration_template_info(:trigger, "test_trigger", true, 3)
90+
result = helper.migration_template_info(
91+
object_type: :trigger,
92+
file_name: "test_trigger",
93+
updating_existing: true,
94+
version: 3
95+
)
7896

7997
expect(result).to eq({
8098
template: "db/migrate/update_trigger.erb",
@@ -86,16 +104,16 @@
86104
helper = described_class.new({})
87105

88106
function_result = helper.migration_template_info(
89-
:function,
90-
"my_function",
91-
true,
92-
2
107+
object_type: :function,
108+
file_name: "my_function",
109+
updating_existing: true,
110+
version: 2
93111
)
94112
trigger_result = helper.migration_template_info(
95-
:trigger,
96-
"my_trigger",
97-
true,
98-
2
113+
object_type: :trigger,
114+
file_name: "my_trigger",
115+
updating_existing: true,
116+
version: 2
99117
)
100118

101119
expect(function_result.fetch(:template)).to eq(

spec/generators/fx/version_helper_spec.rb

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
describe "#previous_version" do
66
it "returns 0 when no existing versions found" do
77
temp_dir = create_temp_directory
8-
helper = described_class.new("test_function", temp_dir)
8+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
99

1010
expect(helper.previous_version).to eq(0)
1111
end
@@ -16,7 +16,7 @@
1616
create_version_file(temp_dir, "test_function", 3)
1717
create_version_file(temp_dir, "test_function", 2)
1818

19-
helper = described_class.new("test_function", temp_dir)
19+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
2020

2121
expect(helper.previous_version).to eq(3)
2222
end
@@ -27,7 +27,7 @@
2727
FileUtils.touch(temp_dir.join("other_function_v3.sql"))
2828
FileUtils.touch(temp_dir.join("test_function.sql"))
2929

30-
helper = described_class.new("test_function", temp_dir)
30+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
3131

3232
expect(helper.previous_version).to eq(2)
3333
end
@@ -38,14 +38,14 @@
3838
temp_dir = create_temp_directory
3939
create_version_file(temp_dir, "test_function", 5)
4040

41-
helper = described_class.new("test_function", temp_dir)
41+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
4242

4343
expect(helper.current_version).to eq(6)
4444
end
4545

4646
it "returns 1 when no previous versions exist" do
4747
temp_dir = create_temp_directory
48-
helper = described_class.new("test_function", temp_dir)
48+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
4949

5050
expect(helper.current_version).to eq(1)
5151
end
@@ -54,7 +54,7 @@
5454
describe "#updating_existing?" do
5555
it "returns false when no previous versions exist" do
5656
temp_dir = create_temp_directory
57-
helper = described_class.new("test_function", temp_dir)
57+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
5858

5959
expect(helper.updating_existing?).to be false
6060
end
@@ -63,7 +63,7 @@
6363
temp_dir = create_temp_directory
6464
create_version_file(temp_dir, "test_function", 1)
6565

66-
helper = described_class.new("test_function", temp_dir)
66+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
6767

6868
expect(helper.updating_existing?).to be true
6969
end
@@ -72,7 +72,7 @@
7272
describe "#creating_new?" do
7373
it "returns true when no previous versions exist" do
7474
temp_dir = create_temp_directory
75-
helper = described_class.new("test_function", temp_dir)
75+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
7676

7777
expect(helper.creating_new?).to be true
7878
end
@@ -81,7 +81,7 @@
8181
temp_dir = create_temp_directory
8282
create_version_file(temp_dir, "test_function", 1)
8383

84-
helper = described_class.new("test_function", temp_dir)
84+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
8585

8686
expect(helper.creating_new?).to be false
8787
end
@@ -90,11 +90,11 @@
9090
describe "#definition_for_version" do
9191
it "returns function definition for function type" do
9292
temp_dir = create_temp_directory
93-
helper = described_class.new("test_function", temp_dir)
93+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
9494
allow(Fx::Definition).to receive(:function)
9595
.and_return("function_definition")
9696

97-
result = helper.definition_for_version(2, :function)
97+
result = helper.definition_for_version(version: 2, type: :function)
9898

9999
expect(result).to eq("function_definition")
100100
expect(Fx::Definition).to have_received(:function).with(
@@ -105,11 +105,11 @@
105105

106106
it "returns trigger definition for trigger type" do
107107
temp_dir = create_temp_directory
108-
helper = described_class.new("test_trigger", temp_dir)
108+
helper = described_class.new(file_name: "test_trigger", definition_path: temp_dir)
109109
allow(Fx::Definition).to receive(:trigger)
110110
.and_return("trigger_definition")
111111

112-
result = helper.definition_for_version(3, :trigger)
112+
result = helper.definition_for_version(version: 3, type: :trigger)
113113

114114
expect(result).to eq("trigger_definition")
115115
expect(Fx::Definition).to have_received(:trigger).with(
@@ -120,10 +120,10 @@
120120

121121
it "raises error for unknown type" do
122122
temp_dir = create_temp_directory
123-
helper = described_class.new("test_function", temp_dir)
123+
helper = described_class.new(file_name: "test_function", definition_path: temp_dir)
124124

125125
expect {
126-
helper.definition_for_version(1, :unknown)
126+
helper.definition_for_version(version: 1, type: :unknown)
127127
}.to raise_error(
128128
ArgumentError,
129129
"Unknown type: unknown. Must be :function or :trigger"

0 commit comments

Comments
 (0)