fx 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +58 -0
  3. data/.gitignore +0 -1
  4. data/.rspec +1 -1
  5. data/.standard.yml +3 -0
  6. data/CONTRIBUTING.md +12 -3
  7. data/Gemfile +1 -1
  8. data/README.md +2 -2
  9. data/Rakefile +2 -1
  10. data/bin/setup +0 -4
  11. data/fx.gemspec +20 -22
  12. data/lib/fx/function.rb +4 -4
  13. data/lib/fx/statements/function.rb +3 -5
  14. data/lib/fx/statements/trigger.rb +8 -10
  15. data/lib/fx/version.rb +1 -1
  16. data/lib/fx.rb +3 -3
  17. data/lib/generators/fx/function/function_generator.rb +6 -6
  18. data/lib/generators/fx/trigger/trigger_generator.rb +6 -6
  19. data/spec/acceptance/user_manages_functions_spec.rb +1 -1
  20. data/spec/acceptance/user_manages_triggers_spec.rb +2 -2
  21. data/spec/acceptance_helper.rb +4 -2
  22. data/spec/dummy/Rakefile +4 -4
  23. data/spec/dummy/bin/bundle +2 -2
  24. data/spec/dummy/bin/rails +3 -3
  25. data/spec/dummy/bin/rake +2 -2
  26. data/spec/dummy/config/application.rb +2 -0
  27. data/spec/dummy/config/database.yml +2 -0
  28. data/spec/dummy/config.ru +1 -1
  29. data/spec/features/functions/migrations_spec.rb +1 -1
  30. data/spec/features/functions/revert_spec.rb +4 -4
  31. data/spec/features/triggers/migrations_spec.rb +2 -2
  32. data/spec/features/triggers/revert_spec.rb +8 -8
  33. data/spec/fx/adapters/postgres/triggers_spec.rb +3 -3
  34. data/spec/fx/adapters/postgres_spec.rb +2 -2
  35. data/spec/fx/command_recorder/arguments_spec.rb +4 -4
  36. data/spec/fx/command_recorder_spec.rb +23 -23
  37. data/spec/fx/definition_spec.rb +6 -6
  38. data/spec/fx/function_spec.rb +8 -8
  39. data/spec/fx/schema_dumper/function_spec.rb +14 -16
  40. data/spec/fx/schema_dumper/trigger_spec.rb +3 -3
  41. data/spec/fx/statements/function_spec.rb +17 -17
  42. data/spec/fx/statements/trigger_spec.rb +20 -20
  43. data/spec/fx/trigger_spec.rb +6 -6
  44. data/spec/generators/fx/function/function_generator_spec.rb +3 -3
  45. data/spec/support/definition_helpers.rb +4 -4
  46. data/spec/support/generator_setup.rb +1 -1
  47. data/spec/support/migration_helpers.rb +1 -1
  48. metadata +26 -73
  49. data/.hound.yml +0 -2
  50. data/.rubocop.yml +0 -648
  51. data/.travis.yml +0 -60
  52. data/Appraisals +0 -45
  53. data/bin/appraisal +0 -17
  54. data/gemfiles/rails42.gemfile +0 -10
  55. data/gemfiles/rails50.gemfile +0 -8
  56. data/gemfiles/rails51.gemfile +0 -8
  57. data/gemfiles/rails52.gemfile +0 -8
  58. data/gemfiles/rails60.gemfile +0 -8
  59. data/gemfiles/rails61.gemfile +0 -8
  60. data/gemfiles/rails_edge.gemfile +0 -8
@@ -22,11 +22,11 @@ describe "Reverting migrations", :db do
22
22
  CREATE TRIGGER uppercase_users_name
23
23
  BEFORE INSERT ON users
24
24
  FOR EACH ROW
25
- EXECUTE PROCEDURE uppercase_users_name();
25
+ EXECUTE FUNCTION uppercase_users_name();
26
26
  EOS
27
27
  with_trigger_definition(
28
28
  name: :uppercase_users_name,
29
- sql_definition: sql_definition,
29
+ sql_definition: sql_definition
30
30
  ) do
31
31
  example.run
32
32
  end
@@ -57,10 +57,10 @@ describe "Reverting migrations", :db do
57
57
  end
58
58
 
59
59
  expect { run_migration(good_migration, [:up, :down]) }.not_to raise_error
60
- expect { run_migration(bad_migration, [:up, :down]) }.
61
- to raise_error(
60
+ expect { run_migration(bad_migration, [:up, :down]) }
61
+ .to raise_error(
62
62
  ActiveRecord::IrreversibleMigration,
63
- /`create_trigger` is reversible only if given a `revert_to_version`/,
63
+ /`create_trigger` is reversible only if given a `revert_to_version`/
64
64
  )
65
65
  end
66
66
 
@@ -71,12 +71,12 @@ describe "Reverting migrations", :db do
71
71
  CREATE TRIGGER uppercase_users_name
72
72
  BEFORE UPDATE ON users
73
73
  FOR EACH ROW
74
- EXECUTE PROCEDURE uppercase_users_name();
74
+ EXECUTE FUNCTION uppercase_users_name();
75
75
  EOS
76
76
  with_trigger_definition(
77
77
  name: :uppercase_users_name,
78
78
  sql_definition: sql_definition,
79
- version: 2,
79
+ version: 2
80
80
  ) do
81
81
  migration = Class.new(migration_class) do
82
82
  def change
@@ -84,7 +84,7 @@ describe "Reverting migrations", :db do
84
84
  :uppercase_users_name,
85
85
  on: :users,
86
86
  version: 2,
87
- revert_to_version: 1,
87
+ revert_to_version: 1
88
88
  )
89
89
  end
90
90
  end
@@ -26,7 +26,7 @@ module Fx
26
26
  CREATE TRIGGER uppercase_users_name
27
27
  BEFORE INSERT ON users
28
28
  FOR EACH ROW
29
- EXECUTE PROCEDURE uppercase_users_name();
29
+ EXECUTE FUNCTION uppercase_users_name();
30
30
  EOS
31
31
 
32
32
  triggers = Postgres::Triggers.new(connection).all
@@ -35,9 +35,9 @@ module Fx
35
35
  expect(triggers.size).to eq 1
36
36
  expect(first.name).to eq "uppercase_users_name"
37
37
  expect(first.definition).to include("BEFORE INSERT")
38
- expect(first.definition).to match(/ON [public\.users|users]/)
38
+ expect(first.definition).to match(/ON [public.ser|]/)
39
39
  expect(first.definition).to include("FOR EACH ROW")
40
- expect(first.definition).to include("EXECUTE PROCEDURE uppercase_users_name()")
40
+ expect(first.definition).to include("EXECUTE FUNCTION uppercase_users_name()")
41
41
  end
42
42
  end
43
43
  end
@@ -44,7 +44,7 @@ module Fx::Adapters
44
44
  CREATE TRIGGER uppercase_users_name
45
45
  BEFORE INSERT ON users
46
46
  FOR EACH ROW
47
- EXECUTE PROCEDURE uppercase_users_name();
47
+ EXECUTE FUNCTION uppercase_users_name();
48
48
  EOS
49
49
  )
50
50
 
@@ -135,7 +135,7 @@ module Fx::Adapters
135
135
  CREATE TRIGGER uppercase_users_name
136
136
  BEFORE INSERT ON users
137
137
  FOR EACH ROW
138
- EXECUTE PROCEDURE uppercase_users_name()
138
+ EXECUTE FUNCTION uppercase_users_name()
139
139
  EOS
140
140
  adapter.create_trigger(sql_definition)
141
141
 
@@ -4,7 +4,7 @@ module Fx::CommandRecorder
4
4
  describe Arguments do
5
5
  describe "#function" do
6
6
  it "returns the function name" do
7
- raw_args = [:spaceships, { foo: :bar }]
7
+ raw_args = [:spaceships, {foo: :bar}]
8
8
  args = Arguments.new(raw_args)
9
9
 
10
10
  expect(args.function).to eq :spaceships
@@ -13,14 +13,14 @@ module Fx::CommandRecorder
13
13
 
14
14
  describe "#revert_to_version" do
15
15
  it "is the revert_to_version from the keyword arguments" do
16
- raw_args = [:spaceships, { revert_to_version: 42 }]
16
+ raw_args = [:spaceships, {revert_to_version: 42}]
17
17
  args = Arguments.new(raw_args)
18
18
 
19
19
  expect(args.revert_to_version).to eq 42
20
20
  end
21
21
 
22
22
  it "is nil if the revert_to_version was not supplied" do
23
- raw_args = [:spaceships, { foo: :bar }]
23
+ raw_args = [:spaceships, {foo: :bar}]
24
24
  args = Arguments.new(raw_args)
25
25
 
26
26
  expect(args.revert_to_version).to be nil
@@ -29,7 +29,7 @@ module Fx::CommandRecorder
29
29
 
30
30
  describe "#invert_version" do
31
31
  it "returns object with version set to revert_to_version" do
32
- raw_args = [:meatballs, { version: 42, revert_to_version: 15 }]
32
+ raw_args = [:meatballs, {version: 42, revert_to_version: 15}]
33
33
 
34
34
  inverted_args = Arguments.new(raw_args).invert_version
35
35
 
@@ -38,8 +38,8 @@ describe Fx::CommandRecorder, :db do
38
38
 
39
39
  it "reverts to create_function with specified revert_to_version" do
40
40
  recorder = ActiveRecord::Migration::CommandRecorder.new
41
- args = [:test, { revert_to_version: 3 }]
42
- revert_args = [:test, { version: 3 }]
41
+ args = [:test, {revert_to_version: 3}]
42
+ revert_args = [:test, {version: 3}]
43
43
 
44
44
  recorder.revert { recorder.drop_function(*args) }
45
45
 
@@ -48,17 +48,17 @@ describe Fx::CommandRecorder, :db do
48
48
 
49
49
  it "raises when reverting without revert_to_version set" do
50
50
  recorder = ActiveRecord::Migration::CommandRecorder.new
51
- args = [:test, { another_argument: 1 }]
51
+ args = [:test, {another_argument: 1}]
52
52
 
53
- expect { recorder.revert { recorder.drop_function(*args) } }.
54
- to raise_error(ActiveRecord::IrreversibleMigration)
53
+ expect { recorder.revert { recorder.drop_function(*args) } }
54
+ .to raise_error(ActiveRecord::IrreversibleMigration)
55
55
  end
56
56
  end
57
57
 
58
58
  describe "#update_function" do
59
59
  it "records the updated function" do
60
60
  recorder = ActiveRecord::Migration::CommandRecorder.new
61
- args = [:test, { version: 2 }]
61
+ args = [:test, {version: 2}]
62
62
 
63
63
  recorder.update_function(*args)
64
64
 
@@ -67,8 +67,8 @@ describe Fx::CommandRecorder, :db do
67
67
 
68
68
  it "reverts to update_function with the specified revert_to_version" do
69
69
  recorder = ActiveRecord::Migration::CommandRecorder.new
70
- args = [:test, { version: 2, revert_to_version: 1 }]
71
- revert_args = [:test, { version: 1 }]
70
+ args = [:test, {version: 2, revert_to_version: 1}]
71
+ revert_args = [:test, {version: 1}]
72
72
 
73
73
  recorder.revert { recorder.update_function(*args) }
74
74
 
@@ -77,10 +77,10 @@ describe Fx::CommandRecorder, :db do
77
77
 
78
78
  it "raises when reverting without revert_to_version set" do
79
79
  recorder = ActiveRecord::Migration::CommandRecorder.new
80
- args = [:test, { version: 42, another_argument: 1 }]
80
+ args = [:test, {version: 42, another_argument: 1}]
81
81
 
82
- expect { recorder.revert { recorder.update_function(*args) } }.
83
- to raise_error(ActiveRecord::IrreversibleMigration)
82
+ expect { recorder.revert { recorder.update_function(*args) } }
83
+ .to raise_error(ActiveRecord::IrreversibleMigration)
84
84
  end
85
85
  end
86
86
 
@@ -99,7 +99,7 @@ describe Fx::CommandRecorder, :db do
99
99
  recorder.create_trigger :greetings
100
100
 
101
101
  expect(recorder.commands).to eq [
102
- [:create_trigger, [:greetings], nil],
102
+ [:create_trigger, [:greetings], nil]
103
103
  ]
104
104
  end
105
105
 
@@ -123,8 +123,8 @@ describe Fx::CommandRecorder, :db do
123
123
 
124
124
  it "reverts to create_trigger with specified revert_to_version" do
125
125
  recorder = ActiveRecord::Migration::CommandRecorder.new
126
- args = [:users, { revert_to_version: 3 }]
127
- revert_args = [:users, { version: 3 }]
126
+ args = [:users, {revert_to_version: 3}]
127
+ revert_args = [:users, {version: 3}]
128
128
 
129
129
  recorder.revert { recorder.drop_trigger(*args) }
130
130
 
@@ -133,17 +133,17 @@ describe Fx::CommandRecorder, :db do
133
133
 
134
134
  it "raises when reverting without revert_to_version set" do
135
135
  recorder = ActiveRecord::Migration::CommandRecorder.new
136
- args = [:users, { another_argument: 1 }]
136
+ args = [:users, {another_argument: 1}]
137
137
 
138
- expect { recorder.revert { recorder.drop_trigger(*args) } }.
139
- to raise_error(ActiveRecord::IrreversibleMigration)
138
+ expect { recorder.revert { recorder.drop_trigger(*args) } }
139
+ .to raise_error(ActiveRecord::IrreversibleMigration)
140
140
  end
141
141
  end
142
142
 
143
143
  describe "#update_trigger" do
144
144
  it "records the updated trigger" do
145
145
  recorder = ActiveRecord::Migration::CommandRecorder.new
146
- args = [:users, { version: 2 }]
146
+ args = [:users, {version: 2}]
147
147
 
148
148
  recorder.update_trigger(*args)
149
149
 
@@ -152,8 +152,8 @@ describe Fx::CommandRecorder, :db do
152
152
 
153
153
  it "reverts to update_trigger with the specified revert_to_version" do
154
154
  recorder = ActiveRecord::Migration::CommandRecorder.new
155
- args = [:users, { version: 2, revert_to_version: 1 }]
156
- revert_args = [:users, { version: 1 }]
155
+ args = [:users, {version: 2, revert_to_version: 1}]
156
+ revert_args = [:users, {version: 1}]
157
157
 
158
158
  recorder.revert { recorder.update_trigger(*args) }
159
159
 
@@ -162,10 +162,10 @@ describe Fx::CommandRecorder, :db do
162
162
 
163
163
  it "raises when reverting without revert_to_version set" do
164
164
  recorder = ActiveRecord::Migration::CommandRecorder.new
165
- args = [:users, { version: 42, another_argument: 1 }]
165
+ args = [:users, {version: 42, another_argument: 1}]
166
166
 
167
- expect { recorder.revert { recorder.update_trigger(*args) } }.
168
- to raise_error(ActiveRecord::IrreversibleMigration)
167
+ expect { recorder.revert { recorder.update_trigger(*args) } }
168
+ .to raise_error(ActiveRecord::IrreversibleMigration)
169
169
  end
170
170
  end
171
171
  end
@@ -25,7 +25,7 @@ describe Fx::Definition do
25
25
 
26
26
  expect { definition.to_sql }.to raise_error(
27
27
  RuntimeError,
28
- %r(Define function in db/functions/test_v01.sql before migrating),
28
+ %r{Define function in db/functions/test_v01.sql before migrating}
29
29
  )
30
30
  end
31
31
 
@@ -59,14 +59,14 @@ describe Fx::Definition do
59
59
  CREATE TRIGGER check_update
60
60
  BEFORE UPDATE ON accounts
61
61
  FOR EACH ROW
62
- EXECUTE PROCEDURE check_account_update();
62
+ EXECUTE FUNCTION check_account_update();
63
63
  EOS
64
64
  allow(File).to receive(:read).and_return(sql_definition)
65
65
 
66
66
  definition = Fx::Definition.new(
67
67
  name: "test",
68
68
  version: 1,
69
- type: "trigger",
69
+ type: "trigger"
70
70
  )
71
71
 
72
72
  expect(definition.to_sql).to eq sql_definition
@@ -77,12 +77,12 @@ describe Fx::Definition do
77
77
  definition = Fx::Definition.new(
78
78
  name: "test",
79
79
  version: 1,
80
- type: "trigger",
80
+ type: "trigger"
81
81
  )
82
82
 
83
83
  expect { definition.to_sql }.to raise_error(
84
84
  RuntimeError,
85
- %r(Define trigger in db/triggers/test_v01.sql before migrating),
85
+ %r{Define trigger in db/triggers/test_v01.sql before migrating}
86
86
  )
87
87
  end
88
88
  end
@@ -102,7 +102,7 @@ describe Fx::Definition do
102
102
  definition = Fx::Definition.new(
103
103
  name: "test",
104
104
  version: 1,
105
- type: "trigger",
105
+ type: "trigger"
106
106
  )
107
107
 
108
108
  expect(definition.path).to eq "db/triggers/test_v01.sql"
@@ -7,15 +7,15 @@ module Fx
7
7
  it "delegates to `name`" do
8
8
  function_a = Function.new(
9
9
  "name" => "name_a",
10
- "definition" => "some definition",
10
+ "definition" => "some definition"
11
11
  )
12
12
  function_b = Function.new(
13
13
  "name" => "name_b",
14
- "definition" => "some definition",
14
+ "definition" => "some definition"
15
15
  )
16
16
  function_c = Function.new(
17
17
  "name" => "name_c",
18
- "definition" => "some definition",
18
+ "definition" => "some definition"
19
19
  )
20
20
 
21
21
  expect(function_b).to be_between(function_a, function_c)
@@ -26,11 +26,11 @@ module Fx
26
26
  it "compares `name` and `definition`" do
27
27
  function_a = Function.new(
28
28
  "name" => "name_a",
29
- "definition" => "some definition",
29
+ "definition" => "some definition"
30
30
  )
31
31
  function_b = Function.new(
32
32
  "name" => "name_b",
33
- "definition" => "some other definition",
33
+ "definition" => "some other definition"
34
34
  )
35
35
 
36
36
  expect(function_a).not_to eq(function_b)
@@ -41,10 +41,10 @@ module Fx
41
41
  it "returns a schema compatible version of the function" do
42
42
  function = Function.new(
43
43
  "name" => "uppercase_users_name",
44
- "definition" => "CREATE OR REPLACE TRIGGER uppercase_users_name ...",
44
+ "definition" => "CREATE OR REPLACE TRIGGER uppercase_users_name ..."
45
45
  )
46
46
 
47
- expect(function.to_schema).to eq <<-'EOS'
47
+ expect(function.to_schema).to eq <<-EOS
48
48
  create_function :uppercase_users_name, sql_definition: <<-'SQL'
49
49
  CREATE OR REPLACE TRIGGER uppercase_users_name ...
50
50
  SQL
@@ -54,7 +54,7 @@ module Fx
54
54
  it "maintains backslashes" do
55
55
  function = Function.new(
56
56
  "name" => "regex",
57
- "definition" => "CREATE OR REPLACE FUNCTION regex \\1",
57
+ "definition" => "CREATE OR REPLACE FUNCTION regex \\1"
58
58
  )
59
59
 
60
60
  expect(function.to_schema).to eq <<-'EOS'
@@ -18,34 +18,32 @@ describe Fx::SchemaDumper::Function, :db do
18
18
  ActiveRecord::SchemaDumper.dump(connection, stream)
19
19
 
20
20
  expect(output).to(
21
- match(/table "my_table".*function :my_function.*RETURN 'test';/m),
21
+ match(/table "my_table".*function :my_function.*RETURN 'test';/m)
22
22
  )
23
23
  end
24
24
 
25
25
  it "dumps a create_function for a function in the database" do
26
- begin
27
- Fx.configuration.dump_functions_at_beginning_of_schema = true
28
- sql_definition = <<-EOS
26
+ Fx.configuration.dump_functions_at_beginning_of_schema = true
27
+ sql_definition = <<-EOS
29
28
  CREATE OR REPLACE FUNCTION my_function()
30
29
  RETURNS text AS $$
31
30
  BEGIN
32
31
  RETURN 'test';
33
32
  END;
34
33
  $$ LANGUAGE plpgsql;
35
- EOS
36
- connection.create_function :my_function, sql_definition: sql_definition
37
- connection.create_table :my_table
38
- stream = StringIO.new
39
- output = stream.string
34
+ EOS
35
+ connection.create_function :my_function, sql_definition: sql_definition
36
+ connection.create_table :my_table
37
+ stream = StringIO.new
38
+ output = stream.string
40
39
 
41
- ActiveRecord::SchemaDumper.dump(connection, stream)
40
+ ActiveRecord::SchemaDumper.dump(connection, stream)
42
41
 
43
- expect(output).to(
44
- match(/function :my_function.*RETURN 'test';.*table "my_table"/m),
45
- )
46
- ensure
47
- Fx.configuration.dump_functions_at_beginning_of_schema = false
48
- end
42
+ expect(output).to(
43
+ match(/function :my_function.*RETURN 'test';.*table "my_table"/m)
44
+ )
45
+ ensure
46
+ Fx.configuration.dump_functions_at_beginning_of_schema = false
49
47
  end
50
48
 
51
49
  it "does not dump a create_function for aggregates in the database" do
@@ -22,11 +22,11 @@ describe Fx::SchemaDumper::Trigger, :db do
22
22
  CREATE TRIGGER uppercase_users_name
23
23
  BEFORE INSERT ON users
24
24
  FOR EACH ROW
25
- EXECUTE PROCEDURE uppercase_users_name();
25
+ EXECUTE FUNCTION uppercase_users_name();
26
26
  EOS
27
27
  connection.create_trigger(
28
28
  :uppercase_users_name,
29
- sql_definition: sql_definition,
29
+ sql_definition: sql_definition
30
30
  )
31
31
  stream = StringIO.new
32
32
 
@@ -35,6 +35,6 @@ describe Fx::SchemaDumper::Trigger, :db do
35
35
  output = stream.string
36
36
  expect(output).to include "create_trigger :uppercase_users_name"
37
37
  expect(output).to include "sql_definition: <<-SQL"
38
- expect(output).to include "EXECUTE PROCEDURE uppercase_users_name()"
38
+ expect(output).to include "EXECUTE FUNCTION uppercase_users_name()"
39
39
  end
40
40
  end
@@ -9,10 +9,10 @@ describe Fx::Statements::Function, :db do
9
9
 
10
10
  connection.create_function(:test)
11
11
 
12
- expect(database).to have_received(:create_function).
13
- with(definition.to_sql)
14
- expect(Fx::Definition).to have_received(:new).
15
- with(name: :test, version: 1)
12
+ expect(database).to have_received(:create_function)
13
+ .with(definition.to_sql)
14
+ expect(Fx::Definition).to have_received(:new)
15
+ .with(name: :test, version: 1)
16
16
  end
17
17
 
18
18
  it "allows creating a function with a specific version" do
@@ -21,10 +21,10 @@ describe Fx::Statements::Function, :db do
21
21
 
22
22
  connection.create_function(:test, version: 2)
23
23
 
24
- expect(database).to have_received(:create_function).
25
- with(definition.to_sql)
26
- expect(Fx::Definition).to have_received(:new).
27
- with(name: :test, version: 2)
24
+ expect(database).to have_received(:create_function)
25
+ .with(definition.to_sql)
26
+ expect(Fx::Definition).to have_received(:new)
27
+ .with(name: :test, version: 2)
28
28
  end
29
29
 
30
30
  it "raises an error if both arguments are nil" do
@@ -32,11 +32,11 @@ describe Fx::Statements::Function, :db do
32
32
  connection.create_function(
33
33
  :whatever,
34
34
  version: nil,
35
- sql_definition: nil,
35
+ sql_definition: nil
36
36
  )
37
37
  }.to raise_error(
38
38
  ArgumentError,
39
- /version or sql_definition must be specified/,
39
+ /version or sql_definition must be specified/
40
40
  )
41
41
  end
42
42
  end
@@ -58,10 +58,10 @@ describe Fx::Statements::Function, :db do
58
58
 
59
59
  connection.update_function(:test, version: 3)
60
60
 
61
- expect(database).to have_received(:update_function).
62
- with(:test, definition.to_sql)
63
- expect(Fx::Definition).to have_received(:new).
64
- with(name: :test, version: 3)
61
+ expect(database).to have_received(:update_function)
62
+ .with(:test, definition.to_sql)
63
+ expect(Fx::Definition).to have_received(:new)
64
+ .with(name: :test, version: 3)
65
65
  end
66
66
 
67
67
  it "updates a function from a text definition" do
@@ -71,7 +71,7 @@ describe Fx::Statements::Function, :db do
71
71
 
72
72
  expect(database).to have_received(:update_function).with(
73
73
  :test,
74
- "a definition",
74
+ "a definition"
75
75
  )
76
76
  end
77
77
 
@@ -80,11 +80,11 @@ describe Fx::Statements::Function, :db do
80
80
  connection.update_function(
81
81
  :whatever,
82
82
  version: nil,
83
- sql_definition: nil,
83
+ sql_definition: nil
84
84
  )
85
85
  }.to raise_error(
86
86
  ArgumentError,
87
- /version or sql_definition must be specified/,
87
+ /version or sql_definition must be specified/
88
88
  )
89
89
  end
90
90
  end
@@ -9,10 +9,10 @@ describe Fx::Statements::Trigger, :db do
9
9
 
10
10
  connection.create_trigger(:test)
11
11
 
12
- expect(database).to have_received(:create_trigger).
13
- with(definition.to_sql)
14
- expect(Fx::Definition).to have_received(:new).
15
- with(name: :test, version: 1, type: "trigger")
12
+ expect(database).to have_received(:create_trigger)
13
+ .with(definition.to_sql)
14
+ expect(Fx::Definition).to have_received(:new)
15
+ .with(name: :test, version: 1, type: "trigger")
16
16
  end
17
17
 
18
18
  it "allows creating a trigger with a specific version" do
@@ -21,10 +21,10 @@ describe Fx::Statements::Trigger, :db do
21
21
 
22
22
  connection.create_trigger(:test, version: 2)
23
23
 
24
- expect(database).to have_received(:create_trigger).
25
- with(definition.to_sql)
26
- expect(Fx::Definition).to have_received(:new).
27
- with(name: :test, version: 2, type: "trigger")
24
+ expect(database).to have_received(:create_trigger)
25
+ .with(definition.to_sql)
26
+ expect(Fx::Definition).to have_received(:new)
27
+ .with(name: :test, version: 2, type: "trigger")
28
28
  end
29
29
 
30
30
  it "raises an error if both arguments are set" do
@@ -34,11 +34,11 @@ describe Fx::Statements::Trigger, :db do
34
34
  connection.create_trigger(
35
35
  :whatever,
36
36
  version: 1,
37
- sql_definition: "a definition",
37
+ sql_definition: "a definition"
38
38
  )
39
39
  }.to raise_error(
40
40
  ArgumentError,
41
- /cannot both be set/,
41
+ /cannot both be set/
42
42
  )
43
43
  end
44
44
  end
@@ -49,8 +49,8 @@ describe Fx::Statements::Trigger, :db do
49
49
 
50
50
  connection.drop_trigger(:test, on: :users)
51
51
 
52
- expect(database).to have_received(:drop_trigger).
53
- with(:test, on: :users)
52
+ expect(database).to have_received(:drop_trigger)
53
+ .with(:test, on: :users)
54
54
  end
55
55
  end
56
56
 
@@ -64,12 +64,12 @@ describe Fx::Statements::Trigger, :db do
64
64
  expect(database).to have_received(:update_trigger).with(
65
65
  :test,
66
66
  on: :users,
67
- sql_definition: definition.to_sql,
67
+ sql_definition: definition.to_sql
68
68
  )
69
69
  expect(Fx::Definition).to have_received(:new).with(
70
70
  name: :test,
71
71
  version: 3,
72
- type: "trigger",
72
+ type: "trigger"
73
73
  )
74
74
  end
75
75
 
@@ -79,13 +79,13 @@ describe Fx::Statements::Trigger, :db do
79
79
  connection.update_trigger(
80
80
  :test,
81
81
  on: :users,
82
- sql_definition: "a definition",
82
+ sql_definition: "a definition"
83
83
  )
84
84
 
85
85
  expect(database).to have_received(:update_trigger).with(
86
86
  :test,
87
87
  on: :users,
88
- sql_definition: "a definition",
88
+ sql_definition: "a definition"
89
89
  )
90
90
  end
91
91
 
@@ -94,11 +94,11 @@ describe Fx::Statements::Trigger, :db do
94
94
  connection.update_trigger(
95
95
  :whatever,
96
96
  version: nil,
97
- sql_definition: nil,
97
+ sql_definition: nil
98
98
  )
99
99
  }.to raise_error(
100
100
  ArgumentError,
101
- /version or sql_definition must be specified/,
101
+ /version or sql_definition must be specified/
102
102
  )
103
103
  end
104
104
 
@@ -109,11 +109,11 @@ describe Fx::Statements::Trigger, :db do
109
109
  connection.update_trigger(
110
110
  :whatever,
111
111
  version: 1,
112
- sql_definition: "a definition",
112
+ sql_definition: "a definition"
113
113
  )
114
114
  }.to raise_error(
115
115
  ArgumentError,
116
- /cannot both be set/,
116
+ /cannot both be set/
117
117
  )
118
118
  end
119
119
  end
@@ -7,15 +7,15 @@ module Fx
7
7
  it "delegates to `name`" do
8
8
  trigger_a = Trigger.new(
9
9
  "name" => "name_a",
10
- "definition" => "some definition",
10
+ "definition" => "some definition"
11
11
  )
12
12
  trigger_b = Trigger.new(
13
13
  "name" => "name_b",
14
- "definition" => "some definition",
14
+ "definition" => "some definition"
15
15
  )
16
16
  trigger_c = Trigger.new(
17
17
  "name" => "name_c",
18
- "definition" => "some definition",
18
+ "definition" => "some definition"
19
19
  )
20
20
 
21
21
  expect(trigger_b).to be_between(trigger_a, trigger_c)
@@ -26,11 +26,11 @@ module Fx
26
26
  it "compares `name` and `definition`" do
27
27
  trigger_a = Trigger.new(
28
28
  "name" => "name_a",
29
- "definition" => "some definition",
29
+ "definition" => "some definition"
30
30
  )
31
31
  trigger_b = Trigger.new(
32
32
  "name" => "name_b",
33
- "definition" => "some other definition",
33
+ "definition" => "some other definition"
34
34
  )
35
35
 
36
36
  expect(trigger_a).not_to eq(trigger_b)
@@ -41,7 +41,7 @@ module Fx
41
41
  it "returns a schema compatible version of the trigger" do
42
42
  trigger = Trigger.new(
43
43
  "name" => "uppercase_users_name",
44
- "definition" => "CREATE TRIGGER uppercase_users_name ...",
44
+ "definition" => "CREATE TRIGGER uppercase_users_name ..."
45
45
  )
46
46
 
47
47
  expect(trigger.to_schema).to eq <<-EOS