rom-cassandra 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +2 -0
  3. data/.gitignore +9 -0
  4. data/.metrics +9 -0
  5. data/.rspec +2 -0
  6. data/.rubocop.yml +2 -0
  7. data/.travis.yml +26 -0
  8. data/.yardopts +3 -0
  9. data/CHANGELOG.md +3 -0
  10. data/Gemfile +7 -0
  11. data/Guardfile +14 -0
  12. data/LICENSE +21 -0
  13. data/README.md +83 -0
  14. data/Rakefile +34 -0
  15. data/config/metrics/STYLEGUIDE +230 -0
  16. data/config/metrics/cane.yml +5 -0
  17. data/config/metrics/churn.yml +6 -0
  18. data/config/metrics/flay.yml +2 -0
  19. data/config/metrics/metric_fu.yml +14 -0
  20. data/config/metrics/reek.yml +1 -0
  21. data/config/metrics/roodi.yml +24 -0
  22. data/config/metrics/rubocop.yml +84 -0
  23. data/config/metrics/saikuro.yml +3 -0
  24. data/config/metrics/simplecov.yml +6 -0
  25. data/config/metrics/yardstick.yml +37 -0
  26. data/lib/rom-cassandra.rb +3 -0
  27. data/lib/rom/cassandra.rb +33 -0
  28. data/lib/rom/cassandra/commands.rb +53 -0
  29. data/lib/rom/cassandra/commands/batch.rb +54 -0
  30. data/lib/rom/cassandra/commands/create.rb +38 -0
  31. data/lib/rom/cassandra/commands/delete.rb +38 -0
  32. data/lib/rom/cassandra/commands/update.rb +38 -0
  33. data/lib/rom/cassandra/dataset.rb +102 -0
  34. data/lib/rom/cassandra/gateway.rb +115 -0
  35. data/lib/rom/cassandra/migrations.rb +30 -0
  36. data/lib/rom/cassandra/migrations/generator.rb +68 -0
  37. data/lib/rom/cassandra/migrations/generator/migration.erb +32 -0
  38. data/lib/rom/cassandra/migrations/logger.rb +28 -0
  39. data/lib/rom/cassandra/migrations/migration.rb +107 -0
  40. data/lib/rom/cassandra/migrations/migrator.rb +103 -0
  41. data/lib/rom/cassandra/migrations/runner.rb +119 -0
  42. data/lib/rom/cassandra/migrations/runner_down.rb +49 -0
  43. data/lib/rom/cassandra/migrations/runner_up.rb +50 -0
  44. data/lib/rom/cassandra/query.rb +43 -0
  45. data/lib/rom/cassandra/relation.rb +88 -0
  46. data/lib/rom/cassandra/session.rb +50 -0
  47. data/lib/rom/cassandra/tasks.rb +6 -0
  48. data/lib/rom/cassandra/version.rb +15 -0
  49. data/lib/tasks/db.rake +16 -0
  50. data/rom-cassandra.gemspec +33 -0
  51. data/spec/config/reset_cluster.rb +28 -0
  52. data/spec/config/rom.rb +3 -0
  53. data/spec/config/test_module.rb +7 -0
  54. data/spec/integration/batch_spec.rb +36 -0
  55. data/spec/integration/create_spec.rb +33 -0
  56. data/spec/integration/delete_spec.rb +33 -0
  57. data/spec/integration/migrate/20150825142003_create_users.rb +24 -0
  58. data/spec/integration/migrate/20150825142024_create_logs.rb +17 -0
  59. data/spec/integration/migrate_spec.rb +47 -0
  60. data/spec/integration/relation_spec.rb +27 -0
  61. data/spec/integration/update_spec.rb +33 -0
  62. data/spec/shared/fake_migrate_folder.rb +21 -0
  63. data/spec/shared/users.rb +20 -0
  64. data/spec/spec_helper.rb +17 -0
  65. data/spec/unit/commands/batch_spec.rb +86 -0
  66. data/spec/unit/commands/create_spec.rb +77 -0
  67. data/spec/unit/commands/delete_spec.rb +77 -0
  68. data/spec/unit/commands/update_spec.rb +77 -0
  69. data/spec/unit/dataset_spec.rb +130 -0
  70. data/spec/unit/gateway_spec.rb +140 -0
  71. data/spec/unit/migrations/generator_spec.rb +31 -0
  72. data/spec/unit/migrations/logger_spec.rb +21 -0
  73. data/spec/unit/migrations/migration_spec.rb +59 -0
  74. data/spec/unit/migrations/migrator_spec.rb +120 -0
  75. data/spec/unit/migrations/runner_down_spec.rb +65 -0
  76. data/spec/unit/migrations/runner_spec.rb +142 -0
  77. data/spec/unit/migrations/runner_up_spec.rb +67 -0
  78. data/spec/unit/query_spec.rb +21 -0
  79. data/spec/unit/relation_spec.rb +142 -0
  80. data/spec/unit/session_spec.rb +55 -0
  81. data/spec/unit/tasks/create_migration_spec.rb +41 -0
  82. metadata +242 -0
@@ -0,0 +1,67 @@
1
+ # encoding: utf-8
2
+
3
+ describe ROM::Cassandra::Migrations::RunnerUp do
4
+
5
+ let(:klass) { Class.new described_class }
6
+ let(:runner) { klass.new session, logger, path }
7
+ let(:session) { double :session, call: nil }
8
+ let(:logger) { double :logger, info: nil }
9
+ let(:path) { "foo/20150824103059_add_foo.rb" }
10
+
11
+ before do
12
+ klass.send(:define_method, :require) do |_|
13
+ AddFoo = Class.new(ROM::Cassandra::Migrations::Migration)
14
+ end
15
+ klass.send(:define_method, :select_version) { [] }
16
+ end
17
+
18
+ describe "#migrate?" do
19
+ subject { runner.migrate? }
20
+
21
+ context "when select_version isn't empty" do
22
+ before do
23
+ klass.send(:define_method, :select_version) { [{ id: 20150824103059 }] }
24
+ end
25
+
26
+ it { is_expected.to eql false }
27
+ end
28
+
29
+ context "when select_version is empty" do
30
+ it { is_expected.to eql true }
31
+ end
32
+ end # describe #migrate?
33
+
34
+ describe "#apply" do
35
+ after { runner.apply }
36
+ before { allow(runner).to receive(:migration) { migration } }
37
+
38
+ let(:migration) { double :migration, up: nil }
39
+
40
+ it "rolls back migration" do
41
+ expect(migration).to receive(:up).once
42
+ end
43
+ end # describe #apply
44
+
45
+ describe "#register" do
46
+ after { runner.register }
47
+
48
+ it "sends the DELETE query to session" do
49
+ expect(session)
50
+ .to receive(:call)
51
+ .with "INSERT INTO rom.migrations (version) VALUES ('20150824103059');"
52
+ end
53
+ end # describe #register
54
+
55
+ describe "#log" do
56
+ after { runner.log }
57
+
58
+ it "logs the message" do
59
+ expect(logger)
60
+ .to receive(:info)
61
+ .with "Apply migration 20150824103059\n"
62
+ end
63
+ end # describe #log
64
+
65
+ after { Object.send :remove_const, :AddFoo if Object.const_defined? :AddFoo }
66
+
67
+ end # describe ROM::Cassandra::Migrations::RunnerUp
@@ -0,0 +1,21 @@
1
+ # encoding: utf-8
2
+
3
+ describe ROM::Cassandra::Query do
4
+
5
+ let(:builder) { described_class.new }
6
+ subject { builder.keyspace(:foo).table(:bar).select }
7
+
8
+ it "encapsulates queries" do
9
+ expect(subject).to be_kind_of described_class
10
+ end
11
+
12
+ it "builds queries" do
13
+ expect(subject.to_s).to eql "SELECT * FROM foo.bar;"
14
+ end
15
+
16
+ it "responds to methods allowed by query" do
17
+ expect(subject).to respond_to :select
18
+ expect(subject).not_to respond_to :foo
19
+ end
20
+
21
+ end # describe ROM::Cassandra::Query
@@ -0,0 +1,142 @@
1
+ # encoding: utf-8
2
+
3
+ describe ROM::Cassandra::Relation do
4
+
5
+ let(:relation) { described_class.new source }
6
+ let(:source) { double :source, get: dataset }
7
+ let(:dataset) { double :dataset, foo: :updated_dataset }
8
+
9
+ describe ".new" do
10
+ subject { relation }
11
+
12
+ it { is_expected.to be_kind_of ROM::Relation }
13
+ end # describe .new
14
+
15
+ describe "#source" do
16
+ subject { relation.source }
17
+
18
+ it "stores the source dataset" do
19
+ expect(subject).to eql source
20
+ end
21
+ end # describe #source
22
+
23
+ describe "#dataset" do
24
+ subject { relation.dataset }
25
+
26
+ it "applies #get to the source dataset" do
27
+ expect(subject).to eql dataset
28
+ end
29
+ end # describe #dataset
30
+
31
+ describe "#insert_query" do
32
+ subject { relation.insert_query }
33
+
34
+ before { allow(source).to receive(:insert) { insert } }
35
+ let(:insert) { double :insert }
36
+
37
+ it "returns a relation" do
38
+ expect(subject).to be_kind_of described_class
39
+ end
40
+
41
+ it "preserves #source" do
42
+ expect(subject.source).to eql source
43
+ end
44
+
45
+ it "sets source.insert as a dataset" do
46
+ expect(subject.dataset).to eql insert
47
+ end
48
+ end # describe #insert_query
49
+
50
+ describe "#update_query" do
51
+ subject { relation.update_query }
52
+
53
+ before { allow(source).to receive(:update) { update } }
54
+ let(:update) { double :update }
55
+
56
+ it "returns a relation" do
57
+ expect(subject).to be_kind_of described_class
58
+ end
59
+
60
+ it "preserves #source" do
61
+ expect(subject.source).to eql source
62
+ end
63
+
64
+ it "sets source.update as a dataset" do
65
+ expect(subject.dataset).to eql update
66
+ end
67
+ end # describe #update_query
68
+
69
+ describe "#delete_query" do
70
+ subject { relation.delete_query }
71
+
72
+ before { allow(source).to receive(:delete) { delete } }
73
+ let(:delete) { double :delete }
74
+
75
+ it "returns a relation" do
76
+ expect(subject).to be_kind_of described_class
77
+ end
78
+
79
+ it "preserves #source" do
80
+ expect(subject.source).to eql source
81
+ end
82
+
83
+ it "sets source.delete as a dataset" do
84
+ expect(subject.dataset).to eql delete
85
+ end
86
+ end # describe #delete_query
87
+
88
+ describe "#batch_query" do
89
+ subject { relation.batch_query }
90
+
91
+ before { allow(source).to receive(:batch) { batch } }
92
+ let(:batch) { double :batch }
93
+
94
+ it "returns a relation" do
95
+ expect(subject).to be_kind_of described_class
96
+ end
97
+
98
+ it "preserves #source" do
99
+ expect(subject.source).to eql source
100
+ end
101
+
102
+ it "sets source.batch as a dataset" do
103
+ expect(subject.dataset).to eql batch
104
+ end
105
+ end # describe #batch_query
106
+
107
+ describe "#respond_to?" do
108
+ context "method, defined for #dataset" do
109
+ subject { relation.respond_to? :foo }
110
+
111
+ it { is_expected.to eql true }
112
+ end
113
+
114
+ context "method, not defined for #dataset" do
115
+ subject { relation.respond_to? :bar }
116
+
117
+ it { is_expected.to eql false }
118
+ end
119
+ end # describe #all
120
+
121
+ describe "#method_missing" do
122
+ subject { relation.foo :bar }
123
+
124
+ it "forwards call to #dataset" do
125
+ expect(dataset).to receive(:foo).with(:bar)
126
+ subject
127
+ end
128
+
129
+ it "returns a relation" do
130
+ expect(subject).to be_kind_of described_class
131
+ end
132
+
133
+ it "preserves #source" do
134
+ expect(subject.source).to eql source
135
+ end
136
+
137
+ it "updates dataset" do
138
+ expect(subject.dataset).to eql :updated_dataset
139
+ end
140
+ end # describe #all
141
+
142
+ end # describe ROM::Cassandra::Relation
@@ -0,0 +1,55 @@
1
+ # encoding: utf-8
2
+
3
+ describe ROM::Cassandra::Session do
4
+
5
+ let(:session) { described_class.new(uri) }
6
+ let(:uri) { { hosts: ["127.0.0.1"], port: 9042 } }
7
+ let(:query) { double to_s: "SELECT * FROM auth.users;" }
8
+
9
+ describe ".new" do
10
+ subject { session }
11
+ let(:uri) { { hosts: ["127.0.0.1"], port: 1000 } }
12
+
13
+ it "fails with wrong uri" do
14
+ expect { session }.to raise_error StandardError
15
+ end
16
+ end
17
+
18
+ describe "#uri" do
19
+ subject { session.uri }
20
+
21
+ context "from hash" do
22
+ it { is_expected.to eql uri }
23
+ end
24
+
25
+ context "from nil" do
26
+ let(:session) { described_class.new }
27
+
28
+ it { is_expected.to eql uri }
29
+ end
30
+
31
+ context "from string" do
32
+ let(:session) { described_class.new "127.0.0.1:9042" }
33
+
34
+ it { is_expected.to eql uri }
35
+ end
36
+
37
+ context "from string and hash" do
38
+ let(:session) { described_class.new "127.0.0.1", port: 9042 }
39
+
40
+ it { is_expected.to eql uri }
41
+ end
42
+ end # describe #uri
43
+
44
+ describe "#call" do
45
+ subject { session.call(query) }
46
+
47
+ it "returns the result of running query" do
48
+ expect(subject).to eql [
49
+ { "id" => 1, "name" => "joe" },
50
+ { "id" => 2, "name" => "jane" }
51
+ ]
52
+ end
53
+ end # describe #call
54
+
55
+ end # describe ROM::Cassandra::Session
@@ -0,0 +1,41 @@
1
+ # encoding: utf-8
2
+
3
+ require "rom/cassandra/tasks"
4
+
5
+ describe "rake db:create_migration" do
6
+
7
+ let(:generator) { ROM::Cassandra::Migrations::Generator }
8
+ let(:task) { Rake::Task["db:create_migration"] }
9
+
10
+ before { allow(generator).to receive(:call) }
11
+ before { $stdout = StringIO.new }
12
+
13
+ context "without options" do
14
+ subject { task.invoke }
15
+
16
+ it "works" do
17
+ expect(generator).not_to receive(:call)
18
+ expect { subject }.to raise_error SystemExit
19
+ end
20
+ end
21
+
22
+ context "with name" do
23
+ after { task.invoke "add_foo" }
24
+
25
+ it "works" do
26
+ expect(generator).to receive(:call).with("add_foo", "db/migrate")
27
+ end
28
+ end
29
+
30
+ context "with name and path" do
31
+ after { task.invoke "add_foo", "custom" }
32
+
33
+ it "works" do
34
+ expect(generator).to receive(:call).with("add_foo", "custom")
35
+ end
36
+ end
37
+
38
+ after { $stdout = STDOUT }
39
+ after { task.reenable }
40
+
41
+ end # describe rake db:create_migration
metadata ADDED
@@ -0,0 +1,242 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rom-cassandra
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Andrew Kozin
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-08-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: cassandra-driver
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: inflecto
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: query_builder
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rom
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.9.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.9.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: hexx-rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.5'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.5'
83
+ - !ruby/object:Gem::Dependency
84
+ name: timecop
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.8'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.8'
97
+ description: Cassandra support for Ruby Object Mapper
98
+ email:
99
+ - andrew.kozin@gmail.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files:
103
+ - README.md
104
+ - LICENSE
105
+ files:
106
+ - ".coveralls.yml"
107
+ - ".gitignore"
108
+ - ".metrics"
109
+ - ".rspec"
110
+ - ".rubocop.yml"
111
+ - ".travis.yml"
112
+ - ".yardopts"
113
+ - CHANGELOG.md
114
+ - Gemfile
115
+ - Guardfile
116
+ - LICENSE
117
+ - README.md
118
+ - Rakefile
119
+ - config/metrics/STYLEGUIDE
120
+ - config/metrics/cane.yml
121
+ - config/metrics/churn.yml
122
+ - config/metrics/flay.yml
123
+ - config/metrics/metric_fu.yml
124
+ - config/metrics/reek.yml
125
+ - config/metrics/roodi.yml
126
+ - config/metrics/rubocop.yml
127
+ - config/metrics/saikuro.yml
128
+ - config/metrics/simplecov.yml
129
+ - config/metrics/yardstick.yml
130
+ - lib/rom-cassandra.rb
131
+ - lib/rom/cassandra.rb
132
+ - lib/rom/cassandra/commands.rb
133
+ - lib/rom/cassandra/commands/batch.rb
134
+ - lib/rom/cassandra/commands/create.rb
135
+ - lib/rom/cassandra/commands/delete.rb
136
+ - lib/rom/cassandra/commands/update.rb
137
+ - lib/rom/cassandra/dataset.rb
138
+ - lib/rom/cassandra/gateway.rb
139
+ - lib/rom/cassandra/migrations.rb
140
+ - lib/rom/cassandra/migrations/generator.rb
141
+ - lib/rom/cassandra/migrations/generator/migration.erb
142
+ - lib/rom/cassandra/migrations/logger.rb
143
+ - lib/rom/cassandra/migrations/migration.rb
144
+ - lib/rom/cassandra/migrations/migrator.rb
145
+ - lib/rom/cassandra/migrations/runner.rb
146
+ - lib/rom/cassandra/migrations/runner_down.rb
147
+ - lib/rom/cassandra/migrations/runner_up.rb
148
+ - lib/rom/cassandra/query.rb
149
+ - lib/rom/cassandra/relation.rb
150
+ - lib/rom/cassandra/session.rb
151
+ - lib/rom/cassandra/tasks.rb
152
+ - lib/rom/cassandra/version.rb
153
+ - lib/tasks/db.rake
154
+ - rom-cassandra.gemspec
155
+ - spec/config/reset_cluster.rb
156
+ - spec/config/rom.rb
157
+ - spec/config/test_module.rb
158
+ - spec/integration/batch_spec.rb
159
+ - spec/integration/create_spec.rb
160
+ - spec/integration/delete_spec.rb
161
+ - spec/integration/migrate/20150825142003_create_users.rb
162
+ - spec/integration/migrate/20150825142024_create_logs.rb
163
+ - spec/integration/migrate_spec.rb
164
+ - spec/integration/relation_spec.rb
165
+ - spec/integration/update_spec.rb
166
+ - spec/shared/fake_migrate_folder.rb
167
+ - spec/shared/users.rb
168
+ - spec/spec_helper.rb
169
+ - spec/unit/commands/batch_spec.rb
170
+ - spec/unit/commands/create_spec.rb
171
+ - spec/unit/commands/delete_spec.rb
172
+ - spec/unit/commands/update_spec.rb
173
+ - spec/unit/dataset_spec.rb
174
+ - spec/unit/gateway_spec.rb
175
+ - spec/unit/migrations/generator_spec.rb
176
+ - spec/unit/migrations/logger_spec.rb
177
+ - spec/unit/migrations/migration_spec.rb
178
+ - spec/unit/migrations/migrator_spec.rb
179
+ - spec/unit/migrations/runner_down_spec.rb
180
+ - spec/unit/migrations/runner_spec.rb
181
+ - spec/unit/migrations/runner_up_spec.rb
182
+ - spec/unit/query_spec.rb
183
+ - spec/unit/relation_spec.rb
184
+ - spec/unit/session_spec.rb
185
+ - spec/unit/tasks/create_migration_spec.rb
186
+ homepage: https://rom-rb.org
187
+ licenses:
188
+ - MIT
189
+ metadata: {}
190
+ post_install_message:
191
+ rdoc_options: []
192
+ require_paths:
193
+ - lib
194
+ required_ruby_version: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - ">="
197
+ - !ruby/object:Gem::Version
198
+ version: 1.9.3
199
+ required_rubygems_version: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0'
204
+ requirements: []
205
+ rubyforge_project:
206
+ rubygems_version: 2.4.6
207
+ signing_key:
208
+ specification_version: 4
209
+ summary: Cassandra support for Ruby Object Mapper
210
+ test_files:
211
+ - spec/config/reset_cluster.rb
212
+ - spec/config/rom.rb
213
+ - spec/config/test_module.rb
214
+ - spec/integration/batch_spec.rb
215
+ - spec/integration/create_spec.rb
216
+ - spec/integration/delete_spec.rb
217
+ - spec/integration/migrate/20150825142003_create_users.rb
218
+ - spec/integration/migrate/20150825142024_create_logs.rb
219
+ - spec/integration/migrate_spec.rb
220
+ - spec/integration/relation_spec.rb
221
+ - spec/integration/update_spec.rb
222
+ - spec/shared/fake_migrate_folder.rb
223
+ - spec/shared/users.rb
224
+ - spec/spec_helper.rb
225
+ - spec/unit/commands/batch_spec.rb
226
+ - spec/unit/commands/create_spec.rb
227
+ - spec/unit/commands/delete_spec.rb
228
+ - spec/unit/commands/update_spec.rb
229
+ - spec/unit/dataset_spec.rb
230
+ - spec/unit/gateway_spec.rb
231
+ - spec/unit/migrations/generator_spec.rb
232
+ - spec/unit/migrations/logger_spec.rb
233
+ - spec/unit/migrations/migration_spec.rb
234
+ - spec/unit/migrations/migrator_spec.rb
235
+ - spec/unit/migrations/runner_down_spec.rb
236
+ - spec/unit/migrations/runner_spec.rb
237
+ - spec/unit/migrations/runner_up_spec.rb
238
+ - spec/unit/query_spec.rb
239
+ - spec/unit/relation_spec.rb
240
+ - spec/unit/session_spec.rb
241
+ - spec/unit/tasks/create_migration_spec.rb
242
+ has_rdoc: