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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c09afbd9407f30670628cfcfaebf9d903ca6619c
4
- data.tar.gz: a94d330cd2a0ecb12c500042b9659ec5ee48c568
3
+ metadata.gz: 078640069bc820b095d68303b641a154635a91f6
4
+ data.tar.gz: 79499e687dc324c807495be3e332cd27dee00002
5
5
  SHA512:
6
- metadata.gz: cf5b188aca3186e6f402f4e246edc6555821fb0d0a24e771715267806a923fd3bd19ec4a0270a572b4fd7c48ee8d9ff380a2aca407202d6d84c1846f884b81e7
7
- data.tar.gz: 552d6f7c1436ae873f1926feafd38f218090ec3ba0a109b45fa931eb3578452f4611745426adb2fbeca537c9ed36ba66c4b99b5ac00faf815e0e17a921811039
6
+ metadata.gz: cd576e0492c38c4b68ac39a7a9fe406d333035658d014541aa379698c08649064a93b1cb7db762d8c327d0f01fa1eb4b1e62c9d3693c83e1e97f0887286966c7
7
+ data.tar.gz: e930878f5a01d11b9c2c1cd09e2fddfb91584ac7c2daca875acb06f772921bafaa8755dd7fcedece03c7b9ebe04d75f277f1f9a42efd01780db8f08de728b2dd
data/Gemfile CHANGED
@@ -3,6 +3,7 @@ source 'https://rubygems.org'
3
3
  gemspec
4
4
 
5
5
  gem 'rom-mapper', git: 'https://github.com/rom-rb/rom-mapper.git', branch: 'master'
6
+ gem 'transproc', git: 'https://github.com/solnic/transproc.git', branch: 'master'
6
7
 
7
8
  group :console do
8
9
  gem 'pry'
@@ -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
@@ -1,3 +1,3 @@
1
1
  module ROM
2
- VERSION = '3.0.0.rc2'.freeze
2
+ VERSION = '3.0.0'.freeze
3
3
  end
@@ -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.0.rc'
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.rc2
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-27 00:00:00.000000000 Z
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.0.rc
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.0.rc
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: 1.3.1
397
+ version: '0'
398
398
  requirements: []
399
399
  rubyforge_project:
400
400
  rubygems_version: 2.5.1