rom 3.0.0.rc2 → 3.0.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/Gemfile +1 -0
- data/lib/rom/schema.rb +14 -2
- data/lib/rom/setup/finalize/finalize_relations.rb +2 -2
- data/lib/rom/version.rb +1 -1
- data/rom.gemspec +1 -1
- data/spec/unit/rom/container_spec.rb +4 -0
- data/spec/unit/rom/relation/schema_spec.rb +2 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 078640069bc820b095d68303b641a154635a91f6
|
4
|
+
data.tar.gz: 79499e687dc324c807495be3e332cd27dee00002
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd576e0492c38c4b68ac39a7a9fe406d333035658d014541aa379698c08649064a93b1cb7db762d8c327d0f01fa1eb4b1e62c9d3693c83e1e97f0887286966c7
|
7
|
+
data.tar.gz: e930878f5a01d11b9c2c1cd09e2fddfb91584ac7c2daca875acb06f772921bafaa8755dd7fcedece03c7b9ebe04d75f277f1f9a42efd01780db8f08de728b2dd
|
data/Gemfile
CHANGED
data/lib/rom/schema.rb
CHANGED
@@ -324,8 +324,6 @@ module ROM
|
|
324
324
|
raise MissingAttributesError.new(name, missing_attributes)
|
325
325
|
end
|
326
326
|
|
327
|
-
options[:relations] = @relations = relations
|
328
|
-
|
329
327
|
block.call if block
|
330
328
|
|
331
329
|
count_index
|
@@ -362,6 +360,20 @@ module ROM
|
|
362
360
|
)
|
363
361
|
end
|
364
362
|
|
363
|
+
# Return a new schema with new options
|
364
|
+
#
|
365
|
+
# @example
|
366
|
+
# schema.with(inferrer: my_inferrer)
|
367
|
+
#
|
368
|
+
# @param [Hash] new_options
|
369
|
+
#
|
370
|
+
# @return [Schema]
|
371
|
+
#
|
372
|
+
# @api public
|
373
|
+
def with(new_options)
|
374
|
+
self.class.new(name, options.merge(new_options))
|
375
|
+
end
|
376
|
+
|
365
377
|
private
|
366
378
|
|
367
379
|
# @api private
|
@@ -51,11 +51,11 @@ module ROM
|
|
51
51
|
ds_proc = klass.dataset_proc || -> _ { self }
|
52
52
|
|
53
53
|
klass.schema(infer: true) unless klass.schema
|
54
|
-
klass.schema.finalize!(gateway: gateway, relations: registry)
|
54
|
+
schema = klass.schema.finalize!(gateway: gateway, relations: registry)
|
55
55
|
|
56
56
|
dataset = gateway.dataset(klass.dataset).instance_exec(klass, &ds_proc)
|
57
57
|
|
58
|
-
klass.new(dataset, __registry__: registry)
|
58
|
+
klass.new(dataset, __registry__: registry, schema: schema.with(relations: registry))
|
59
59
|
end
|
60
60
|
end
|
61
61
|
end
|
data/lib/rom/version.rb
CHANGED
data/rom.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |gem|
|
|
20
20
|
gem.add_runtime_dependency 'dry-types', '~> 0.9', '>= 0.9.4'
|
21
21
|
gem.add_runtime_dependency 'dry-core', '~> 0.2', '>= 0.2.3'
|
22
22
|
gem.add_runtime_dependency 'dry-initializer', '~> 0.10', '>= 0.10.2'
|
23
|
-
gem.add_runtime_dependency 'rom-mapper', '~> 0.5
|
23
|
+
gem.add_runtime_dependency 'rom-mapper', '~> 0.5'
|
24
24
|
|
25
25
|
gem.add_development_dependency 'rake', '~> 10.3'
|
26
26
|
gem.add_development_dependency 'rspec', '~> 3.5'
|
@@ -89,6 +89,10 @@ RSpec.describe ROM::Container do
|
|
89
89
|
expect(container.relation(:tasks)).to be_kind_of(ROM::Relation)
|
90
90
|
expect(container.relation(:tasks).mappers.elements).to be_empty
|
91
91
|
end
|
92
|
+
|
93
|
+
it 'returns a relation with finalized schema' do
|
94
|
+
expect(container.relation(:tasks).schema.relations[:users]).to be(container.relations[:users])
|
95
|
+
end
|
92
96
|
end
|
93
97
|
|
94
98
|
describe '#mappers' do
|
@@ -27,6 +27,8 @@ RSpec.describe ROM::Relation, '.schema' do
|
|
27
27
|
expect(Test::Users.schema.primary_key).to eql([Test::Users.schema[:id]])
|
28
28
|
|
29
29
|
expect(Test::Users.schema).to eql(schema)
|
30
|
+
|
31
|
+
expect(Test::Users.schema.relations).to be_empty
|
30
32
|
end
|
31
33
|
|
32
34
|
it 'allows defining types for reading tuples' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Solnica
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -104,14 +104,14 @@ dependencies:
|
|
104
104
|
requirements:
|
105
105
|
- - "~>"
|
106
106
|
- !ruby/object:Gem::Version
|
107
|
-
version: 0.5
|
107
|
+
version: '0.5'
|
108
108
|
type: :runtime
|
109
109
|
prerelease: false
|
110
110
|
version_requirements: !ruby/object:Gem::Requirement
|
111
111
|
requirements:
|
112
112
|
- - "~>"
|
113
113
|
- !ruby/object:Gem::Version
|
114
|
-
version: 0.5
|
114
|
+
version: '0.5'
|
115
115
|
- !ruby/object:Gem::Dependency
|
116
116
|
name: rake
|
117
117
|
requirement: !ruby/object:Gem::Requirement
|
@@ -392,9 +392,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
392
392
|
version: '0'
|
393
393
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
394
394
|
requirements:
|
395
|
-
- - "
|
395
|
+
- - ">="
|
396
396
|
- !ruby/object:Gem::Version
|
397
|
-
version:
|
397
|
+
version: '0'
|
398
398
|
requirements: []
|
399
399
|
rubyforge_project:
|
400
400
|
rubygems_version: 2.5.1
|