rom-repository 1.3.0 → 1.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 362832c67aba16f8f9a1dd37eac6d361b39e2344
4
- data.tar.gz: bedb0cd2de862f654a709becc55095240a50dcb2
3
+ metadata.gz: c74e20a5f12fce2888ae33bfeba0f4ff2baa9546
4
+ data.tar.gz: 816d5902836dfe8ab67f785c448c7e1b33b42853
5
5
  SHA512:
6
- metadata.gz: 2dfc1e26fd3ee71949cae67a87657b35e876588f930e00023c5fbf69a216882f35058b7f3c9038975ef619d972bc25b91f39bf8a7a69c3670923d649daf989fa
7
- data.tar.gz: '02393346642d169103689807063b580ff765de616ffac3b15babdb757fef60bef91fe0bd27127bdb9720a07d296e0afdbf78a07b54b17fe75f62db9055ba8865'
6
+ metadata.gz: 9b8dac9fd33b64b269353b52dc6d01a5f2d65a6f97376d2df322ea9bb64fa1a31850100b2080e8b69b89c15a84227cb6e6f02913fcfda673554f1cbb2f0f8539
7
+ data.tar.gz: a8355e2936bf75d78ce989337815b0a5446aa532e2fa5e93e359cc87bb920db82afecd3f6a899306d3994e0aab75956a17adda086bb8909075849911eea11da5
@@ -5,6 +5,7 @@ cache: bundler
5
5
  bundler_args: --without yard guard benchmarks tools
6
6
  before_script:
7
7
  - psql -c 'create database rom_repository' -U postgres
8
+ - rvm get master
8
9
  script: "bundle exec rake ci"
9
10
  after_success:
10
11
  - '[ "${TRAVIS_JOB_NUMBER#*.}" = "1" ] && [ "$TRAVIS_BRANCH" = "master" ] && bundle exec codeclimate-test-reporter'
@@ -1,3 +1,15 @@
1
+ # v1.3.1 2017-03-25
2
+
3
+ ### Fixed
4
+
5
+ * Support for using custom mappers inside `#node` (flash-gordon)
6
+
7
+ ### Changed
8
+
9
+ * Updated `dry-initializer` (flash-gordon)
10
+
11
+ [Compare v1.3.0...v1.3.1](https://github.com/rom-rb/rom-repository/compare/v1.3.0...v1.3.1)
12
+
1
13
  # v1.3.0 2017-03-07
2
14
 
3
15
  ### Added
@@ -86,9 +86,9 @@ module ROM
86
86
  # @return [ROM::Container] The container used to set up a repo
87
87
  param :container, allow: ROM::Container
88
88
 
89
- # @!attribute [r] container
90
- # @return [ROM::Container] The container used to set up a repo
91
- option :auto_struct, optional: true, default: -> repo { repo.class.auto_struct }
89
+ # @!attribute [r] auto_struct
90
+ # @return [Boolean] The container used to set up a repo
91
+ option :auto_struct, default: -> { self.class.auto_struct }
92
92
 
93
93
  # @!attribute [r] relations
94
94
  # @return [RelationRegistry] The relation proxy registry used by a repo
@@ -53,11 +53,11 @@ module ROM
53
53
 
54
54
  # @!attribute [r] command_compiler
55
55
  # @return [Proc] a proc that can compile a command (typically provided by a repo)
56
- option :command_compiler, reader: true, optional: true
56
+ option :command_compiler, optional: true
57
57
 
58
58
  # @!attribute [r] command_type
59
59
  # @return [Symbol] a custom command identifier
60
- option :command_type, reader: true, default: -> changeset { changeset.class.command_type }
60
+ option :command_type, default: -> { self.class.command_type }
61
61
 
62
62
  # Create a changeset class preconfigured for a specific relation
63
63
  #
@@ -78,7 +78,7 @@ module ROM
78
78
  #
79
79
  # @example
80
80
  # class NewUser < ROM::Changeset::Create[:users]
81
- # option :token_generator, reader: true
81
+ # option :token_generator
82
82
  # end
83
83
  #
84
84
  # changeset = user_repo.changeset(NewUser).with(token_generator: my_token_gen)
@@ -12,9 +12,9 @@ module ROM
12
12
  # @return [Changeset::Create] Child changeset
13
13
  param :left
14
14
 
15
- # @!attribute [r] association
16
- # @return [Symbol] Association identifier from relation schema
17
- option :associations, reader: true
15
+ # @!attribute [r] associations
16
+ # @return [Array] List of association identifiers from relation schema
17
+ option :associations
18
18
 
19
19
  # Infer association name from an object with a schema
20
20
  #
@@ -13,14 +13,12 @@ module ROM
13
13
  # @!attribute [r] __data__
14
14
  # @return [Hash] The relation data
15
15
  # @api private
16
- option :__data__, reader: true, optional: true, default: proc { nil }
16
+ option :__data__, optional: true
17
17
 
18
18
  # @!attribute [r] pipe
19
19
  # @return [Changeset::Pipe] data transformation pipe
20
20
  # @api private
21
- option :pipe, reader: true, accept: [Proc, Pipe], default: -> changeset {
22
- changeset.class.default_pipe(changeset)
23
- }
21
+ option :pipe, accept: [Proc, Pipe], default: -> { self.class.default_pipe(self) }
24
22
 
25
23
  # Define a changeset mapping
26
24
  #
@@ -51,18 +51,11 @@ module ROM
51
51
  #
52
52
  # @api public
53
53
  def relations(*names)
54
- if names.any?
55
- attr_reader(*names)
56
-
57
- if defined?(@relations)
58
- @relations.concat(names).uniq!
59
- else
60
- @relations = names
61
- end
62
-
63
- @relations
54
+ if names.empty?
55
+ @relations ||= []
64
56
  else
65
- @relations
57
+ attr_reader(*(names - relations))
58
+ @relations = relations | names
66
59
  end
67
60
  end
68
61
 
@@ -104,7 +97,7 @@ module ROM
104
97
  end
105
98
  end
106
99
  else
107
- @commands || []
100
+ @commands ||= []
108
101
  end
109
102
  end
110
103
 
@@ -27,10 +27,10 @@ module ROM
27
27
  param :relation
28
28
 
29
29
  option :name, type: Types::Strict::Symbol
30
- option :mappers, reader: true, default: proc { MapperBuilder.new }
31
- option :meta, reader: true, default: proc { EMPTY_HASH }
32
- option :registry, type: RelationRegistryType, default: proc { RelationRegistry.new }, reader: true
33
- option :auto_struct, optional: true
30
+ option :mappers, default: -> { MapperBuilder.new }
31
+ option :meta, default: -> { EMPTY_HASH }
32
+ option :registry, type: RelationRegistryType, default: -> { RelationRegistry.new }
33
+ option :auto_struct, default: -> { true }
34
34
 
35
35
  # Relation name
36
36
  #
@@ -38,7 +38,7 @@ module ROM
38
38
  #
39
39
  # @api public
40
40
  def name
41
- @name == Dry::Initializer::UNDEFINED ? relation.name : relation.name.with(@name)
41
+ @name ? relation.name.with(@name) : relation.name
42
42
  end
43
43
 
44
44
  # Materializes wrapped relation and sends it through a mapper
@@ -91,7 +91,7 @@ module ROM
91
91
  elsif names.size > 1 && names.any? { |name| name.is_a?(Class) }
92
92
  raise ArgumentError, 'using custom mappers and a model is not supported'
93
93
  else
94
- if opts[:auto_map]
94
+ if opts[:auto_map] && !meta[:combine_type]
95
95
  mappers = [mapper, *names.map { |name| relation.mappers[name] }]
96
96
  mappers.reduce(self) { |a, e| a >> e }
97
97
  else
@@ -1,5 +1,5 @@
1
1
  module ROM
2
2
  class Repository
3
- VERSION = '1.3.0'.freeze
3
+ VERSION = '1.3.1'.freeze
4
4
  end
5
5
  end
@@ -1,5 +1,3 @@
1
- # encoding: utf-8
2
-
3
1
  require File.expand_path('../lib/rom/repository/version', __FILE__)
4
2
 
5
3
  Gem::Specification.new do |gem|
@@ -15,7 +13,7 @@ Gem::Specification.new do |gem|
15
13
  gem.test_files = `git ls-files -- {spec}/*`.split("\n")
16
14
  gem.license = 'MIT'
17
15
 
18
- gem.add_runtime_dependency 'rom', '~> 3.1'
16
+ gem.add_runtime_dependency 'rom', '~> 3.2'
19
17
  gem.add_runtime_dependency 'rom-mapper', '~> 0.5'
20
18
  gem.add_runtime_dependency 'dry-core', '~> 0.2', '>= 0.2.1'
21
19
  gem.add_runtime_dependency 'dry-struct', '~> 0.1'
@@ -1,12 +1,10 @@
1
- # encoding: utf-8
2
-
3
1
  RSpec.describe 'Repository with multi-adapters configuration' do
4
- include_context 'database'
5
-
6
- let(:configuration) {
7
- ROM::Configuration.new(default: [:sql, uri], memory: [:memory])
2
+ let!(:configuration) {
3
+ ROM::Configuration.new(default: [:sql, DB_URI], memory: [:memory])
8
4
  }
9
5
 
6
+ let(:rom) { ROM.container(configuration) }
7
+
10
8
  let(:users) { rom.relation(:sql_users) }
11
9
  let(:tasks) { rom.relation(:memory_tasks) }
12
10
 
@@ -1,8 +1,9 @@
1
1
  RSpec.describe 'ROM repository' do
2
2
  include_context 'database'
3
3
  include_context 'relations'
4
- include_context 'seeds'
4
+ include_context 'repo'
5
5
  include_context 'structs'
6
+ include_context 'seeds'
6
7
 
7
8
  it 'loads a single relation' do
8
9
  expect(repo.all_users.to_a).to match_array([jane, joe])
@@ -301,6 +302,14 @@ RSpec.describe 'ROM repository' do
301
302
  rel.map { |tuple| Hash(tuple).merge(mapped: true) }
302
303
  end
303
304
  end
305
+
306
+ define(:posts) do
307
+ register_as :nested_mapper
308
+
309
+ def call(rel)
310
+ rel.map { |tuple| Hash(tuple).tap { |h| h[:title] = h[:title].upcase } }
311
+ end
312
+ end
304
313
  end
305
314
  end
306
315
 
@@ -308,7 +317,20 @@ RSpec.describe 'ROM repository' do
308
317
  jane = repo.users.combine(:posts).map_with(:embed_address, auto_map: true).to_a.first
309
318
 
310
319
  expect(jane).
311
- to eql(id:1, name: 'Jane', mapped: true, posts: [{ id: 1, author_id: 1, title: 'Hello From Jane', body: 'Jane Post' }])
320
+ to eql(id:1, name: 'Jane', mapped: true, posts: [
321
+ { id: 1, author_id: 1, title: 'Hello From Jane', body: 'Jane Post' }
322
+ ])
323
+ end
324
+
325
+ it 'applies a custom mapper inside #node' do
326
+ jane = repo.aggregate(:posts).node(:posts) { |posts| posts.as(:nested_mapper, auto_map: true) }.to_a.first
327
+
328
+ expect(jane).to be_a ROM::Struct
329
+
330
+ expect(jane.to_h).
331
+ to eql(id:1, name: 'Jane', posts: [
332
+ { id: 1, author_id: 1, title: 'HELLO FROM JANE', body: 'Jane Post' }
333
+ ])
312
334
  end
313
335
  end
314
336
 
@@ -1,18 +1,10 @@
1
1
  RSpec.shared_context 'database setup' do
2
- let(:configuration) { ROM::Configuration.new(:sql, uri) }
2
+ let(:configuration) { ROM::Configuration.new(:sql, DB_URI) }
3
3
 
4
4
  let(:conn) { configuration.gateways[:default].connection }
5
5
 
6
6
  let(:rom) { ROM.container(configuration) }
7
7
 
8
- let(:uri) do
9
- if defined? JRUBY_VERSION
10
- 'jdbc:postgresql://localhost/rom_repository'
11
- else
12
- 'postgres://localhost/rom_repository'
13
- end
14
- end
15
-
16
8
  before do
17
9
  conn.loggers << LOGGER
18
10
  end
@@ -1,7 +1,7 @@
1
1
  RSpec.shared_context 'mappers' do
2
- let(:users) { rom.relation(:users).mappers[:user] }
3
- let(:tasks) { rom.relation(:tasks).mappers[:task] }
4
- let(:tags) { rom.relation(:tags).mappers[:tag] }
2
+ let(:user_mappers) { users.mappers[:user] }
3
+ let(:task_mappers) { tasks.mappers[:task] }
4
+ let(:tag_mappers) { tags.mappers[:tag] }
5
5
 
6
6
  before do
7
7
  configuration.mappers do
@@ -1,6 +1,4 @@
1
1
  RSpec.shared_context 'structs' do
2
- include_context 'repo'
3
-
4
2
  let(:user_struct) do
5
3
  repo.users.mapper.model
6
4
  end
@@ -22,14 +22,6 @@ end
22
22
  root = Pathname(__FILE__).dirname
23
23
  LOGGER = Logger.new(File.open('./log/test.log', 'a'))
24
24
 
25
- Dir[root.join('support/*.rb').to_s].each do |f|
26
- require f
27
- end
28
-
29
- Dir[root.join('shared/*.rb').to_s].each do |f|
30
- require f
31
- end
32
-
33
25
  require 'dry/core/deprecations'
34
26
  Dry::Core::Deprecations.set_logger!(root.join('../log/deprecations.log'))
35
27
 
@@ -47,12 +39,41 @@ module Test
47
39
  end
48
40
  end
49
41
 
42
+ warning_api_available = RUBY_VERSION >= '2.4.0'
43
+
44
+ module SileneceWarnings
45
+ def warn(str)
46
+ if str['/sequel/'] || str['/rspec-core']
47
+ nil
48
+ else
49
+ super
50
+ end
51
+ end
52
+ end
53
+
54
+ DB_URI = if defined? JRUBY_VERSION
55
+ 'jdbc:postgresql://localhost/rom_repository'
56
+ else
57
+ 'postgres://localhost/rom_repository'
58
+ end
59
+
60
+ Warning.extend(SileneceWarnings) if warning_api_available
61
+
50
62
  RSpec.configure do |config|
63
+ config.disable_monkey_patching!
64
+ config.warnings = true
65
+
51
66
  config.after do
52
67
  Test.remove_constants
53
68
  end
54
69
 
55
- config.include(MapperRegistry)
70
+ Dir[root.join('support/*.rb').to_s].each do |f|
71
+ require f
72
+ end
56
73
 
57
- config.disable_monkey_patching!
74
+ Dir[root.join('shared/*.rb').to_s].each do |f|
75
+ require f
76
+ end
77
+
78
+ config.include(MapperRegistry)
58
79
  end
@@ -7,21 +7,21 @@ RSpec.describe 'loading proxy' do
7
7
  include_context 'structs'
8
8
  include_context 'seeds'
9
9
 
10
- let(:users) do
11
- ROM::Repository::RelationProxy.new(rom.relation(:users), name: :users)
10
+ let(:users_proxy) do
11
+ ROM::Repository::RelationProxy.new(users, name: :users)
12
12
  end
13
13
 
14
- let(:tasks) do
15
- ROM::Repository::RelationProxy.new(rom.relation(:tasks), name: :tasks)
14
+ let(:tasks_proxy) do
15
+ ROM::Repository::RelationProxy.new(tasks, name: :tasks)
16
16
  end
17
17
 
18
- let(:tags) do
19
- ROM::Repository::RelationProxy.new(rom.relation(:tags), name: :tags)
18
+ let(:tags_proxy) do
19
+ ROM::Repository::RelationProxy.new(tags, name: :tags)
20
20
  end
21
21
 
22
22
  describe '#inspect' do
23
23
  specify do
24
- expect(users.inspect).
24
+ expect(users_proxy.inspect).
25
25
  to eql("#<ROM::Relation[Users] name=users dataset=#{users.dataset.inspect}>")
26
26
  end
27
27
  end
@@ -30,13 +30,13 @@ RSpec.describe 'loading proxy' do
30
30
  it 'yields loaded structs' do
31
31
  result = []
32
32
 
33
- users.each { |user| result << user }
33
+ users_proxy.each { |user| result << user }
34
34
 
35
35
  expect(result).to eql([jane, joe])
36
36
  end
37
37
 
38
38
  it 'returns an enumerator when block is not given' do
39
- expect(users.each.to_a).to eql([jane, joe])
39
+ expect(users_proxy.each.to_a).to eql([jane, joe])
40
40
  end
41
41
  end
42
42
 
@@ -53,17 +53,17 @@ RSpec.describe 'loading proxy' do
53
53
  end
54
54
 
55
55
  it 'sends the relation through custom mappers' do
56
- expect(users.map_with(:name_list, :upcase_names).to_a).to match_array(%w(JANE JOE))
56
+ expect(users_proxy.map_with(:name_list, :upcase_names).to_a).to match_array(%w(JANE JOE))
57
57
  end
58
58
 
59
59
  it 'does not use the default(ROM::Struct) mapper' do
60
- expect(users.map_with(:identity).to_a).to match_array(
60
+ expect(users_proxy.map_with(:identity).to_a).to match_array(
61
61
  [{ id: 1, name: 'Jane' }, {id: 2, name: 'Joe' }]
62
62
  )
63
63
  end
64
64
 
65
65
  it 'raises error when custom mapper is used with a model class' do
66
- expect { users.map_with(:name_list, Class.new) }.
66
+ expect { users_proxy.map_with(:name_list, Class.new) }.
67
67
  to raise_error(ArgumentError, 'using custom mappers and a model is not supported')
68
68
  end
69
69
  end
@@ -76,7 +76,7 @@ RSpec.describe 'loading proxy' do
76
76
  end
77
77
  end
78
78
 
79
- let(:custom_users) { users.as(user_type) }
79
+ let(:custom_users) { users_proxy.as(user_type) }
80
80
 
81
81
  it 'instantiates custom model' do
82
82
  expect(custom_users.where(name: 'Jane').one).to be_instance_of(user_type)
@@ -87,59 +87,59 @@ RSpec.describe 'loading proxy' do
87
87
  describe 'retrieving a single struct' do
88
88
  describe '#first' do
89
89
  it 'returns exactly one struct' do
90
- expect(users.first).to eql(jane)
90
+ expect(users_proxy.first).to eql(jane)
91
91
  end
92
92
  end
93
93
 
94
94
  describe '#one' do
95
95
  it 'returns exactly one struct' do
96
- expect(users.find(id: 1).one).to eql(jane)
96
+ expect(users_proxy.find(id: 1).one).to eql(jane)
97
97
 
98
- expect(users.find(id: 3).one).to be(nil)
98
+ expect(users_proxy.find(id: 3).one).to be(nil)
99
99
 
100
- expect { users.find(id: [1,2]).one }.to raise_error(ROM::TupleCountMismatchError)
100
+ expect { users_proxy.find(id: [1,2]).one }.to raise_error(ROM::TupleCountMismatchError)
101
101
  end
102
102
  end
103
103
 
104
104
  describe '#one!' do
105
105
  it 'returns exactly one struct' do
106
- expect(users.find(id: 1).one!).to eql(jane)
106
+ expect(users_proxy.find(id: 1).one!).to eql(jane)
107
107
 
108
- expect { users.find(id: [1, 2]).one! }.to raise_error(ROM::TupleCountMismatchError)
109
- expect { users.find(id: [3]).one! }.to raise_error(ROM::TupleCountMismatchError)
108
+ expect { users_proxy.find(id: [1, 2]).one! }.to raise_error(ROM::TupleCountMismatchError)
109
+ expect { users_proxy.find(id: [3]).one! }.to raise_error(ROM::TupleCountMismatchError)
110
110
  end
111
111
  end
112
112
  end
113
113
 
114
114
  describe '#to_ast' do
115
115
  it 'returns valid ast for a single relation' do
116
- expect(users.to_ast).to eql(
116
+ expect(users_proxy.to_ast).to eql(
117
117
  [:relation, [
118
118
  :users,
119
119
  { dataset: :users },
120
- [:header, [[:attribute, users.schema[:id]], [:attribute, users.schema[:name]]]]]
120
+ [:header, [[:attribute, users_proxy.schema[:id]], [:attribute, users_proxy.schema[:name]]]]]
121
121
  ]
122
122
  )
123
123
  end
124
124
 
125
125
  it 'returns valid ast for a combined relation' do
126
- relation = users.combine(many: { user_tasks: [tasks, id: :user_id] })
126
+ relation = users_proxy.combine(many: { user_tasks: [tasks_proxy, id: :user_id] })
127
127
 
128
128
  expect(relation.to_ast).to eql(
129
129
  [:relation, [
130
130
  :users,
131
131
  { dataset: :users },
132
132
  [:header, [
133
- [:attribute, users.schema[:id]],
134
- [:attribute, users.schema[:name]],
133
+ [:attribute, users_proxy.schema[:id]],
134
+ [:attribute, users_proxy.schema[:name]],
135
135
  [:relation, [
136
136
  :tasks,
137
137
  { dataset: :tasks, keys: { id: :user_id },
138
138
  combine_type: :many, combine_name: :user_tasks },
139
139
  [:header, [
140
- [:attribute, tasks.schema[:id]],
141
- [:attribute, tasks.schema[:user_id]],
142
- [:attribute, tasks.schema[:title]]]]
140
+ [:attribute, tasks_proxy.schema[:id]],
141
+ [:attribute, tasks_proxy.schema[:user_id]],
142
+ [:attribute, tasks_proxy.schema[:title]]]]
143
143
  ]]
144
144
  ]
145
145
  ]]]
@@ -147,10 +147,10 @@ RSpec.describe 'loading proxy' do
147
147
  end
148
148
 
149
149
  it 'returns valid ast for a wrapped relation' do
150
- relation = tags.wrap_parent(task: tasks)
150
+ relation = tags_proxy.wrap_parent(task: tasks_proxy)
151
151
 
152
- tags_schema = tags.schema.qualified
153
- tasks_schema = tasks.schema.wrap
152
+ tags_schema = tags_proxy.schema.qualified
153
+ tasks_schema = tasks_proxy.schema.wrap
154
154
 
155
155
  expect(relation.to_ast).to eql(
156
156
  [:relation, [
@@ -177,19 +177,19 @@ RSpec.describe 'loading proxy' do
177
177
 
178
178
  describe '#method_missing' do
179
179
  it 'proxies to the underlying relation' do
180
- expect(users.gateway).to be(:default)
180
+ expect(users_proxy.gateway).to be(:default)
181
181
  end
182
182
 
183
183
  it 'returns proxy when response was not materialized' do
184
- expect(users.by_pk(1)).to be_instance_of(ROM::Repository::RelationProxy)
184
+ expect(users_proxy.by_pk(1)).to be_instance_of(ROM::Repository::RelationProxy)
185
185
  end
186
186
 
187
187
  it 'returns curried proxy when response was curried' do
188
- expect(users.by_pk).to be_instance_of(ROM::Repository::RelationProxy)
188
+ expect(users_proxy.by_pk).to be_instance_of(ROM::Repository::RelationProxy)
189
189
  end
190
190
 
191
191
  it 'raises when method is missing' do
192
- expect { users.not_here }.to raise_error(NoMethodError, "undefined method `not_here' for ROM::Relation[Users]")
192
+ expect { users_proxy.not_here }.to raise_error(NoMethodError, "undefined method `not_here' for ROM::Relation[Users]")
193
193
  end
194
194
  end
195
195
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rom-repository
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
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-03-07 00:00:00.000000000 Z
11
+ date: 2017-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rom
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.1'
19
+ version: '3.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '3.1'
26
+ version: '3.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rom-mapper
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -191,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
191
  version: '0'
192
192
  requirements: []
193
193
  rubyforge_project:
194
- rubygems_version: 2.6.9
194
+ rubygems_version: 2.6.10
195
195
  signing_key:
196
196
  specification_version: 4
197
197
  summary: Repository abstraction for rom-rb