rom-core 5.2.1 → 5.2.6

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
  SHA256:
3
- metadata.gz: 210baca2c0408ebc0debfb706045e5d10c287bf25005f5fef6456a034f371be9
4
- data.tar.gz: 2a6f63a627bdc874a696e40d164f8ba394c514abe3afe3ed2a7f704c705ebc3b
3
+ metadata.gz: bafb062dd70c60068b1833425097b30aafc14f928272c352f5f4ba835f874f68
4
+ data.tar.gz: 70048675b39e98a2b8871df48c79d5b7dfc2d91d644fe4d73063aeaf79225b5d
5
5
  SHA512:
6
- metadata.gz: 192dc8383ec5e6c2b4f98658d36417fa0e22a1a1c93f08e50c915a4410abd6a4edf70227f3db604c3e8a516fc2e54114eb407fb852bb2e42bcb423b4fd42aa04
7
- data.tar.gz: 93703fe2e0474b5eb9052d4f9a0ad13d434e30180486bb9835898454959ee2b71dbc6f7d893df96f85ac70f78f4bf228576fbf9fe200f1295bc4b67ec1f8d560
6
+ metadata.gz: a8f85677084bcf45fc78d3a3983c797f45255455e0f35fc50c892b85426f219572c2f564761e57c32f755d7bd04b9aebcf92bb29ace6042b384879c7be52eaaa
7
+ data.tar.gz: 4ac7f60759b67bc6d51dfbf805550a890eda4285375063fe4b38f7f18716c588c0f3953e2e076d70f22495d332ea2aa710948d3bf7958480f9d3db6aee847eb2
@@ -193,8 +193,6 @@ module ROM
193
193
  type.create_class(rel_name, type) do |klass|
194
194
  klass.result(rel_meta.fetch(:combine_type, result))
195
195
 
196
- klass.input(meta.fetch(:input, relation.input_schema))
197
-
198
196
  meta.each do |name, value|
199
197
  klass.public_send(name, value)
200
198
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ROM
4
4
  module Core
5
- VERSION = '5.2.1'
5
+ VERSION = '5.2.6'
6
6
  end
7
7
  end
@@ -49,6 +49,9 @@ module ROM
49
49
 
50
50
  if identifier.is_a?(Gateway)
51
51
  gateway = identifier
52
+ elsif RUBY_VERSION >= "3.0"
53
+ kwargs = args.last.is_a?(Hash) ? args.pop : {}
54
+ gateway = Gateway.setup(identifier, *args.flatten, **kwargs)
52
55
  else
53
56
  gateway = Gateway.setup(identifier, *args.flatten)
54
57
  end
data/lib/rom/gateway.rb CHANGED
@@ -102,6 +102,10 @@ module ROM
102
102
  end
103
103
  end
104
104
 
105
+ class << self
106
+ ruby2_keywords(:setup) if respond_to?(:ruby2_keywords, true)
107
+ end
108
+
105
109
  # Get gateway subclass for a specific adapter
106
110
  #
107
111
  # @param [Symbol] type Adapter identifier
@@ -22,19 +22,20 @@ module ROM
22
22
  #
23
23
  # @api public
24
24
  def build(relation, **options)
25
- if options.key?(:input) || !relation.schema?
26
- super
27
- else
28
- default_input = options.fetch(:input, input)
25
+ if relation.schema? && !options.key?(:input)
26
+ relation_input = relation.input_schema
27
+ command_input = input
29
28
 
30
- input_handler =
31
- if default_input != Hash
32
- -> tuple { relation.input_schema[input[tuple]] }
29
+ composed_input =
30
+ if command_input.equal?(ROM::Command.input)
31
+ relation_input
33
32
  else
34
- relation.input_schema
33
+ -> tuple { relation_input[command_input[tuple]] }
35
34
  end
36
35
 
37
- super(relation, **options, input: input_handler)
36
+ super(relation, **options, input: composed_input)
37
+ else
38
+ super
38
39
  end
39
40
  end
40
41
  end
@@ -51,7 +51,7 @@ module ROM
51
51
  #
52
52
  # @api public
53
53
  def relation(&block)
54
- @relation_block = lambda(&block)
54
+ @relation_block = proc(&block)
55
55
  end
56
56
 
57
57
  # Return procs captured by the DSL
@@ -78,7 +78,7 @@ module ROM
78
78
  #
79
79
  # @api private
80
80
  def load_entities(entity)
81
- Dir[globs[entity]].map do |file|
81
+ Dir[globs[entity]].sort.map do |file|
82
82
  require file
83
83
  klass_name =
84
84
  case namespace
@@ -36,12 +36,6 @@ module ROM
36
36
  settings
37
37
  end
38
38
 
39
- # @api private
40
- def freeze
41
- settings.each_value(&:freeze)
42
- super
43
- end
44
-
45
39
  # @api private
46
40
  def respond_to_missing?(_name, _include_private = false)
47
41
  true
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rom-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.1
4
+ version: 5.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-11 00:00:00.000000000 Z
11
+ date: 2021-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -327,7 +327,7 @@ metadata:
327
327
  documentation_uri: https://api.rom-rb.org/rom/
328
328
  mailing_list_uri: https://discourse.rom-rb.org/
329
329
  bug_tracker_uri: https://github.com/rom-rb/rom/issues
330
- post_install_message:
330
+ post_install_message:
331
331
  rdoc_options: []
332
332
  require_paths:
333
333
  - lib
@@ -342,8 +342,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
342
342
  - !ruby/object:Gem::Version
343
343
  version: '0'
344
344
  requirements: []
345
- rubygems_version: 3.1.0.pre3
346
- signing_key:
345
+ rubygems_version: 3.2.3
346
+ signing_key:
347
347
  specification_version: 4
348
348
  summary: Ruby Object Mapper
349
349
  test_files: []