rom 3.0.0.rc2 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
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