rom 0.3.1 → 0.4.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/Gemfile +2 -0
- data/README.md +20 -5
- data/lib/rom.rb +12 -2
- data/lib/rom/adapter.rb +110 -4
- data/lib/rom/adapter/memory.rb +9 -52
- data/lib/rom/adapter/memory/commands.rb +41 -0
- data/lib/rom/adapter/memory/dataset.rb +52 -0
- data/lib/rom/adapter/memory/storage.rb +25 -0
- data/lib/rom/boot.rb +28 -1
- data/lib/rom/boot/command_dsl.rb +48 -0
- data/lib/rom/boot/dsl.rb +7 -0
- data/lib/rom/command_registry.rb +68 -0
- data/lib/rom/commands.rb +64 -0
- data/lib/rom/commands/create.rb +28 -0
- data/lib/rom/commands/delete.rb +44 -0
- data/lib/rom/commands/update.rb +42 -0
- data/lib/rom/commands/with_options.rb +21 -0
- data/lib/rom/env.rb +22 -6
- data/lib/rom/relation.rb +0 -18
- data/lib/rom/repository.rb +25 -3
- data/lib/rom/version.rb +1 -1
- data/spec/integration/adapters/setting_logger_spec.rb +35 -0
- data/spec/integration/commands/create_spec.rb +96 -0
- data/spec/integration/commands/delete_spec.rb +70 -0
- data/spec/integration/commands/error_handling_spec.rb +23 -0
- data/spec/integration/commands/try_spec.rb +27 -0
- data/spec/integration/commands/update_spec.rb +106 -0
- data/spec/integration/setup_spec.rb +35 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/support/mutant.rb +7 -0
- data/spec/unit/rom/env_spec.rb +19 -0
- data/spec/unit/rom/repository_spec.rb +21 -0
- metadata +22 -2
data/spec/spec_helper.rb
CHANGED
@@ -9,11 +9,13 @@ if RUBY_ENGINE == "rbx"
|
|
9
9
|
CodeClimate::TestReporter.start
|
10
10
|
end
|
11
11
|
|
12
|
+
require 'virtus'
|
12
13
|
require 'rom'
|
13
14
|
require 'rom/adapter/memory'
|
14
15
|
|
15
16
|
root = Pathname(__FILE__).dirname
|
16
17
|
|
18
|
+
Dir[root.join('support/*.rb').to_s].each { |f| require f }
|
17
19
|
Dir[root.join('shared/*.rb').to_s].each { |f| require f }
|
18
20
|
|
19
21
|
RSpec.configure do |config|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ROM::Env do
|
4
|
+
include_context 'users and tasks'
|
5
|
+
|
6
|
+
before { setup.relation(:users) }
|
7
|
+
|
8
|
+
it 'exposes repositories on method-missing' do
|
9
|
+
expect(rom.memory).to be(rom.repositories[:memory])
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'responds to methods corresponding to repository names' do
|
13
|
+
expect(rom).to respond_to(:memory)
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'raises exception when unknown repository is referenced' do
|
17
|
+
expect { rom.not_here }.to raise_error(NoMethodError)
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ROM::Repository do
|
4
|
+
include_context 'users and tasks'
|
5
|
+
|
6
|
+
subject(:repository) { rom.memory }
|
7
|
+
|
8
|
+
before { setup.relation(:users) }
|
9
|
+
|
10
|
+
it 'exposes datasets on method-missing' do
|
11
|
+
expect(repository.users).to be(rom.memory[:users])
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'responds to methods corresponding to dataset names' do
|
15
|
+
expect(repository).to respond_to(:users)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'raises exception when unknown dataset is referenced' do
|
19
|
+
expect { repository.not_here }.to raise_error(NoMethodError)
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Solnica
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-12-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: addressable
|
@@ -174,12 +174,22 @@ files:
|
|
174
174
|
- lib/rom.rb
|
175
175
|
- lib/rom/adapter.rb
|
176
176
|
- lib/rom/adapter/memory.rb
|
177
|
+
- lib/rom/adapter/memory/commands.rb
|
178
|
+
- lib/rom/adapter/memory/dataset.rb
|
179
|
+
- lib/rom/adapter/memory/storage.rb
|
177
180
|
- lib/rom/boot.rb
|
178
181
|
- lib/rom/boot/base_relation_dsl.rb
|
182
|
+
- lib/rom/boot/command_dsl.rb
|
179
183
|
- lib/rom/boot/dsl.rb
|
180
184
|
- lib/rom/boot/mapper_dsl.rb
|
181
185
|
- lib/rom/boot/relation_dsl.rb
|
182
186
|
- lib/rom/boot/schema_dsl.rb
|
187
|
+
- lib/rom/command_registry.rb
|
188
|
+
- lib/rom/commands.rb
|
189
|
+
- lib/rom/commands/create.rb
|
190
|
+
- lib/rom/commands/delete.rb
|
191
|
+
- lib/rom/commands/update.rb
|
192
|
+
- lib/rom/commands/with_options.rb
|
183
193
|
- lib/rom/env.rb
|
184
194
|
- lib/rom/header.rb
|
185
195
|
- lib/rom/mapper.rb
|
@@ -198,6 +208,12 @@ files:
|
|
198
208
|
- lib/rom/version.rb
|
199
209
|
- rom.gemspec
|
200
210
|
- spec/integration/adapters/extending_relations_spec.rb
|
211
|
+
- spec/integration/adapters/setting_logger_spec.rb
|
212
|
+
- spec/integration/commands/create_spec.rb
|
213
|
+
- spec/integration/commands/delete_spec.rb
|
214
|
+
- spec/integration/commands/error_handling_spec.rb
|
215
|
+
- spec/integration/commands/try_spec.rb
|
216
|
+
- spec/integration/commands/update_spec.rb
|
201
217
|
- spec/integration/mappers/definition_dsl_spec.rb
|
202
218
|
- spec/integration/mappers/prefixing_attributes_spec.rb
|
203
219
|
- spec/integration/mappers/renaming_attributes_spec.rb
|
@@ -210,12 +226,15 @@ files:
|
|
210
226
|
- spec/integration/setup_spec.rb
|
211
227
|
- spec/shared/users_and_tasks.rb
|
212
228
|
- spec/spec_helper.rb
|
229
|
+
- spec/support/mutant.rb
|
213
230
|
- spec/unit/rom/adapter_spec.rb
|
231
|
+
- spec/unit/rom/env_spec.rb
|
214
232
|
- spec/unit/rom/header_spec.rb
|
215
233
|
- spec/unit/rom/mapper_spec.rb
|
216
234
|
- spec/unit/rom/ra/operation/group_spec.rb
|
217
235
|
- spec/unit/rom/ra/operation/wrap_spec.rb
|
218
236
|
- spec/unit/rom/relation_spec.rb
|
237
|
+
- spec/unit/rom/repository_spec.rb
|
219
238
|
homepage: http://rom-rb.org
|
220
239
|
licenses:
|
221
240
|
- MIT
|
@@ -241,3 +260,4 @@ signing_key:
|
|
241
260
|
specification_version: 4
|
242
261
|
summary: Ruby Object Mapper
|
243
262
|
test_files: []
|
263
|
+
has_rdoc:
|