dry-core 1.0.1 → 1.1.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/CHANGELOG.md +13 -0
- data/README.md +2 -2
- data/dry-core.gemspec +9 -11
- data/lib/dry/core/basic_object.rb +1 -2
- data/lib/dry/core/cache.rb +3 -3
- data/lib/dry/core/class_builder.rb +5 -5
- data/lib/dry/core/constants.rb +2 -2
- data/lib/dry/core/container/item.rb +7 -4
- data/lib/dry/core/container/mixin.rb +16 -16
- data/lib/dry/core/container/namespace_dsl.rb +4 -4
- data/lib/dry/core/container/resolver.rb +4 -4
- data/lib/dry/core/container/stub.rb +1 -1
- data/lib/dry/core/deprecations.rb +4 -4
- data/lib/dry/core/descendants_tracker.rb +1 -1
- data/lib/dry/core/equalizer.rb +1 -1
- data/lib/dry/core/errors.rb +1 -1
- data/lib/dry/core/extensions.rb +2 -2
- data/lib/dry/core/inflector.rb +8 -6
- data/lib/dry/core/memoizable.rb +5 -16
- data/lib/dry/core/version.rb +1 -1
- data/lib/dry/core.rb +4 -4
- metadata +16 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ada367e2c1685eb461bc598f50ccf1496db04ca3872db6767cb78b68f662ce17
|
4
|
+
data.tar.gz: 2d4649248b3f5ed774e29a4bca37330aa38c0a044f834f01af9181d4454ebf9b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f4a9cecf88aea238ea6fd977edd0878bc83c773a7f2955afec6552092ebcad0717a4978b47f4ceeb1dd316d201ba0adba4c4d6934c8b01a8eb3eac4f6d43d0e
|
7
|
+
data.tar.gz: 86b97e82c64baae2ae65c7da27c91102f1bc21a0c0c3c58a9c15dc541ebd10efeb9f1e5f8764297ad12a403e14be0d0ec15f5148182b83c0f891312824c03a42
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
<!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
|
2
2
|
|
3
|
+
## 1.1.0 2025-01-04
|
4
|
+
|
5
|
+
|
6
|
+
### Changed
|
7
|
+
|
8
|
+
- Minimal Ruby version is 3.1 (@flash-gordon)
|
9
|
+
- Fixed clash with `dry-logger` (see #80) (@flash-gordon)
|
10
|
+
|
11
|
+
[Compare v1.0.1...v1.1.0](https://github.com/dry-rb/dry-core/compare/v1.0.1...v1.1.0)
|
12
|
+
|
3
13
|
## 1.0.1 2023-08-06
|
4
14
|
|
5
15
|
|
@@ -10,6 +20,9 @@
|
|
10
20
|
Users of Equalizer should now only need to `require "dry/core"` first.
|
11
21
|
|
12
22
|
|
23
|
+
### Changed
|
24
|
+
|
25
|
+
- Minimal Ruby version is 3.0 (@flash-gordon)
|
13
26
|
|
14
27
|
[Compare v1.0.0...v1.0.1](https://github.com/dry-rb/dry-core/compare/v1.0.0...v1.0.1)
|
15
28
|
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
[gem]: https://rubygems.org/gems/dry-core
|
3
3
|
[actions]: https://github.com/dry-rb/dry-core/actions
|
4
4
|
|
5
|
-
# dry-core [][gem] [][gem] [][actions]
|
6
6
|
|
7
7
|
## Links
|
8
8
|
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
This library officially supports the following Ruby versions:
|
16
16
|
|
17
|
-
* MRI `>= 3.
|
17
|
+
* MRI `>= 3.1`
|
18
18
|
* jruby `>= 9.4` (not tested on CI)
|
19
19
|
|
20
20
|
## License
|
data/dry-core.gemspec
CHANGED
@@ -21,18 +21,16 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.executables = []
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
|
-
spec.metadata["allowed_push_host"]
|
25
|
-
spec.metadata["changelog_uri"]
|
26
|
-
spec.metadata["source_code_uri"]
|
27
|
-
spec.metadata["bug_tracker_uri"]
|
24
|
+
spec.metadata["allowed_push_host"] = "https://rubygems.org"
|
25
|
+
spec.metadata["changelog_uri"] = "https://github.com/dry-rb/dry-core/blob/main/CHANGELOG.md"
|
26
|
+
spec.metadata["source_code_uri"] = "https://github.com/dry-rb/dry-core"
|
27
|
+
spec.metadata["bug_tracker_uri"] = "https://github.com/dry-rb/dry-core/issues"
|
28
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
28
29
|
|
29
|
-
spec.required_ruby_version = ">= 3.
|
30
|
+
spec.required_ruby_version = ">= 3.1.0"
|
30
31
|
|
31
32
|
# to update dependencies edit project.yml
|
32
|
-
spec.
|
33
|
-
spec.
|
34
|
-
|
35
|
-
spec.add_development_dependency "bundler"
|
36
|
-
spec.add_development_dependency "rake"
|
37
|
-
spec.add_development_dependency "rspec"
|
33
|
+
spec.add_dependency "concurrent-ruby", "~> 1.0"
|
34
|
+
spec.add_dependency "logger"
|
35
|
+
spec.add_dependency "zeitwerk", "~> 2.6"
|
38
36
|
end
|
data/lib/dry/core/cache.rb
CHANGED
@@ -23,7 +23,7 @@ module Dry
|
|
23
23
|
def self.extended(klass)
|
24
24
|
super
|
25
25
|
klass.include(Methods)
|
26
|
-
klass.instance_variable_set(:@__cache__, Concurrent::Map.new)
|
26
|
+
klass.instance_variable_set(:@__cache__, ::Concurrent::Map.new)
|
27
27
|
end
|
28
28
|
|
29
29
|
# @api private
|
@@ -48,8 +48,8 @@ module Dry
|
|
48
48
|
#
|
49
49
|
# @return [Object] block's return value (cached for subsequent calls with
|
50
50
|
# the same argument values)
|
51
|
-
def fetch_or_store(*args, &
|
52
|
-
cache.fetch_or_store(args.hash, &
|
51
|
+
def fetch_or_store(*args, &)
|
52
|
+
cache.fetch_or_store(args.hash, &)
|
53
53
|
end
|
54
54
|
|
55
55
|
# Instance methods
|
@@ -4,14 +4,14 @@ module Dry
|
|
4
4
|
module Core
|
5
5
|
# Class for generating more classes
|
6
6
|
class ClassBuilder
|
7
|
-
ParentClassMismatch = Class.new(TypeError)
|
7
|
+
ParentClassMismatch = ::Class.new(::TypeError)
|
8
8
|
|
9
9
|
attr_reader :name, :parent, :namespace
|
10
10
|
|
11
11
|
def initialize(name:, parent: nil, namespace: nil)
|
12
12
|
@name = name
|
13
13
|
@namespace = namespace
|
14
|
-
@parent = parent || Object
|
14
|
+
@parent = parent || ::Object
|
15
15
|
end
|
16
16
|
|
17
17
|
# Generate a class based on options
|
@@ -48,7 +48,7 @@ module Dry
|
|
48
48
|
|
49
49
|
# @api private
|
50
50
|
def create_anonymous
|
51
|
-
klass = Class.new(parent)
|
51
|
+
klass = ::Class.new(parent)
|
52
52
|
name = self.name
|
53
53
|
|
54
54
|
klass.singleton_class.class_eval do
|
@@ -64,7 +64,7 @@ module Dry
|
|
64
64
|
def create_named
|
65
65
|
name = self.name
|
66
66
|
base = create_base(namespace, name, parent)
|
67
|
-
klass = Class.new(base)
|
67
|
+
klass = ::Class.new(base)
|
68
68
|
|
69
69
|
namespace.module_eval do
|
70
70
|
remove_const(name)
|
@@ -93,7 +93,7 @@ module Dry
|
|
93
93
|
|
94
94
|
existing
|
95
95
|
else
|
96
|
-
klass = Class.new(parent || Object)
|
96
|
+
klass = ::Class.new(parent || ::Object)
|
97
97
|
namespace.const_set(name, klass)
|
98
98
|
klass
|
99
99
|
end
|
data/lib/dry/core/constants.rb
CHANGED
@@ -27,7 +27,7 @@ module Dry
|
|
27
27
|
# An empty string
|
28
28
|
EMPTY_STRING = ""
|
29
29
|
# Identity function
|
30
|
-
IDENTITY = (
|
30
|
+
IDENTITY = ->(x) { x }.freeze
|
31
31
|
|
32
32
|
# A special value you can use as a default to know if no arguments
|
33
33
|
# were passed to the method
|
@@ -40,7 +40,7 @@ module Dry
|
|
40
40
|
# puts value
|
41
41
|
# end
|
42
42
|
# end
|
43
|
-
Undefined = Object.new.tap do |undefined|
|
43
|
+
Undefined = ::Object.new.tap do |undefined|
|
44
44
|
# @api private
|
45
45
|
Self = -> { Undefined } # rubocop:disable Lint/ConstantDefinitionInBlock
|
46
46
|
|
@@ -8,6 +8,8 @@ module Dry
|
|
8
8
|
# @api abstract
|
9
9
|
#
|
10
10
|
class Item
|
11
|
+
NO_OPTIONS = {}.freeze
|
12
|
+
|
11
13
|
# @return [Mixed] the item to be solved later
|
12
14
|
attr_reader :item
|
13
15
|
|
@@ -15,16 +17,17 @@ module Dry
|
|
15
17
|
attr_reader :options
|
16
18
|
|
17
19
|
# @api abstract
|
18
|
-
def initialize(item, options =
|
20
|
+
def initialize(item, options = NO_OPTIONS)
|
19
21
|
@item = item
|
20
22
|
@options = {
|
21
|
-
call: item.is_a?(::Proc) && item.parameters.empty
|
22
|
-
|
23
|
+
call: item.is_a?(::Proc) && item.parameters.empty?,
|
24
|
+
**options
|
25
|
+
}
|
23
26
|
end
|
24
27
|
|
25
28
|
# @api abstract
|
26
29
|
def call
|
27
|
-
raise NotImplementedError
|
30
|
+
raise ::NotImplementedError
|
28
31
|
end
|
29
32
|
|
30
33
|
# @private
|
@@ -6,18 +6,18 @@ require "dry/core/constants"
|
|
6
6
|
module Dry
|
7
7
|
module Core
|
8
8
|
class Container
|
9
|
-
include Dry::Core::Constants
|
9
|
+
include ::Dry::Core::Constants
|
10
10
|
|
11
11
|
# @api public
|
12
|
-
Error = Class.new(StandardError)
|
12
|
+
Error = ::Class.new(::StandardError)
|
13
13
|
|
14
14
|
# Error raised when key is not defined in the registry
|
15
15
|
#
|
16
16
|
# @api public
|
17
|
-
KeyError = Class.new(::KeyError)
|
17
|
+
KeyError = ::Class.new(::KeyError)
|
18
18
|
|
19
|
-
if defined?(DidYouMean::KeyErrorChecker)
|
20
|
-
DidYouMean.correct_error(KeyError, DidYouMean::KeyErrorChecker)
|
19
|
+
if defined?(::DidYouMean::KeyErrorChecker)
|
20
|
+
::DidYouMean.correct_error(KeyError, ::DidYouMean::KeyErrorChecker)
|
21
21
|
end
|
22
22
|
|
23
23
|
# Mixin to expose Inversion of Control (IoC) container behaviour
|
@@ -68,7 +68,7 @@ module Dry
|
|
68
68
|
|
69
69
|
# @private
|
70
70
|
module Initializer
|
71
|
-
def initialize(
|
71
|
+
def initialize(...)
|
72
72
|
@_container = ::Concurrent::Hash.new
|
73
73
|
super
|
74
74
|
end
|
@@ -112,8 +112,8 @@ module Dry
|
|
112
112
|
config.registry.call(_container, key, item, options)
|
113
113
|
|
114
114
|
self
|
115
|
-
rescue FrozenError
|
116
|
-
raise FrozenError,
|
115
|
+
rescue ::FrozenError
|
116
|
+
raise ::FrozenError,
|
117
117
|
"can't modify frozen #{self.class} (when attempting to register '#{key}')"
|
118
118
|
end
|
119
119
|
|
@@ -128,8 +128,8 @@ module Dry
|
|
128
128
|
# @return [Mixed]
|
129
129
|
#
|
130
130
|
# @api public
|
131
|
-
def resolve(key, &
|
132
|
-
config.resolver.call(_container, key, &
|
131
|
+
def resolve(key, &)
|
132
|
+
config.resolver.call(_container, key, &)
|
133
133
|
end
|
134
134
|
|
135
135
|
# Resolve an item from the container
|
@@ -198,8 +198,8 @@ module Dry
|
|
198
198
|
# @return [Dry::Core::Container::Mixin] self
|
199
199
|
#
|
200
200
|
# @api public
|
201
|
-
def each_key(&
|
202
|
-
config.resolver.each_key(_container, &
|
201
|
+
def each_key(&)
|
202
|
+
config.resolver.each_key(_container, &)
|
203
203
|
self
|
204
204
|
end
|
205
205
|
|
@@ -215,8 +215,8 @@ module Dry
|
|
215
215
|
# @note In discussions with other developers, it was felt that being able to iterate
|
216
216
|
# over not just the registered keys, but to see what was registered would be
|
217
217
|
# very helpful. This is a step toward doing that.
|
218
|
-
def each(&
|
219
|
-
config.resolver.each(_container, &
|
218
|
+
def each(&)
|
219
|
+
config.resolver.each(_container, &)
|
220
220
|
end
|
221
221
|
|
222
222
|
# Decorates an item from the container with specified decorator
|
@@ -250,12 +250,12 @@ module Dry
|
|
250
250
|
# @return [Dry::Core::Container::Mixin] self
|
251
251
|
#
|
252
252
|
# @api public
|
253
|
-
def namespace(namespace, &
|
253
|
+
def namespace(namespace, &)
|
254
254
|
::Dry::Core::Container::NamespaceDSL.new(
|
255
255
|
self,
|
256
256
|
namespace,
|
257
257
|
config.namespace_separator,
|
258
|
-
&
|
258
|
+
&
|
259
259
|
)
|
260
260
|
|
261
261
|
self
|
@@ -34,12 +34,12 @@ module Dry
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
-
def register(key,
|
38
|
-
super(namespaced(key),
|
37
|
+
def register(key, ...)
|
38
|
+
super(namespaced(key), ...)
|
39
39
|
end
|
40
40
|
|
41
|
-
def namespace(namespace, &
|
42
|
-
super(namespaced(namespace), &
|
41
|
+
def namespace(namespace, &)
|
42
|
+
super(namespaced(namespace), &)
|
43
43
|
end
|
44
44
|
|
45
45
|
def import(namespace)
|
@@ -66,8 +66,8 @@ module Dry
|
|
66
66
|
# @return Hash
|
67
67
|
#
|
68
68
|
# @api public
|
69
|
-
def each_key(container, &
|
70
|
-
container.each_key(&
|
69
|
+
def each_key(container, &)
|
70
|
+
container.each_key(&)
|
71
71
|
end
|
72
72
|
|
73
73
|
# Calls block once for each key in container, passing the key and
|
@@ -81,8 +81,8 @@ module Dry
|
|
81
81
|
# @note In discussions with other developers, it was felt that being able
|
82
82
|
# to iterate over not just the registered keys, but to see what was
|
83
83
|
# registered would be very helpful. This is a step toward doing that.
|
84
|
-
def each(container, &
|
85
|
-
container.map { |key, value| [key, value.call] }.each(&
|
84
|
+
def each(container, &)
|
85
|
+
container.map { |key, value| [key, value.call] }.each(&)
|
86
86
|
end
|
87
87
|
end
|
88
88
|
end
|
@@ -14,7 +14,7 @@ module Dry
|
|
14
14
|
# Add a stub to the container
|
15
15
|
def stub(key, value, &block)
|
16
16
|
unless key?(key)
|
17
|
-
raise ArgumentError, "cannot stub #{key.to_s.inspect} - no such key in container"
|
17
|
+
raise ::ArgumentError, "cannot stub #{key.to_s.inspect} - no such key in container"
|
18
18
|
end
|
19
19
|
|
20
20
|
_stubs[key.to_s] = value
|
@@ -102,11 +102,11 @@ module Dry
|
|
102
102
|
# @param [#warn] logger
|
103
103
|
#
|
104
104
|
# @api public
|
105
|
-
def set_logger!(output = $stderr)
|
105
|
+
def set_logger!(output = $stderr)
|
106
106
|
if output.respond_to?(:warn)
|
107
107
|
@logger = output
|
108
108
|
else
|
109
|
-
@logger = Logger.new(output).tap do |logger|
|
109
|
+
@logger = ::Logger.new(output).tap do |logger|
|
110
110
|
logger.formatter = proc { |_, _, _, msg| "#{msg}\n" }
|
111
111
|
end
|
112
112
|
end
|
@@ -194,7 +194,7 @@ module Dry
|
|
194
194
|
message
|
195
195
|
)
|
196
196
|
|
197
|
-
meth =
|
197
|
+
meth = method(new_name || old_name)
|
198
198
|
|
199
199
|
singleton_class.instance_exec do
|
200
200
|
undef_method old_name if method_defined?(old_name)
|
@@ -218,7 +218,7 @@ module Dry
|
|
218
218
|
message
|
219
219
|
)
|
220
220
|
|
221
|
-
mod = Module.new do
|
221
|
+
mod = ::Module.new do
|
222
222
|
define_method(:const_missing) do |missing|
|
223
223
|
if missing == constant_name
|
224
224
|
warn("#{full_msg}\n#{STACK.()}")
|
data/lib/dry/core/equalizer.rb
CHANGED
data/lib/dry/core/errors.rb
CHANGED
data/lib/dry/core/extensions.rb
CHANGED
@@ -25,7 +25,7 @@ module Dry
|
|
25
25
|
def self.extended(obj)
|
26
26
|
super
|
27
27
|
obj.instance_variable_set(:@__available_extensions__, {})
|
28
|
-
obj.instance_variable_set(:@__loaded_extensions__, Set.new)
|
28
|
+
obj.instance_variable_set(:@__loaded_extensions__, ::Set.new)
|
29
29
|
end
|
30
30
|
|
31
31
|
# Register an extension
|
@@ -50,7 +50,7 @@ module Dry
|
|
50
50
|
def load_extensions(*extensions)
|
51
51
|
extensions.each do |ext|
|
52
52
|
block = @__available_extensions__.fetch(ext) do
|
53
|
-
raise ArgumentError, "Unknown extension: #{ext.inspect}"
|
53
|
+
raise ::ArgumentError, "Unknown extension: #{ext.inspect}"
|
54
54
|
end
|
55
55
|
unless @__loaded_extensions__.include?(ext)
|
56
56
|
block.call
|
data/lib/dry/core/inflector.rb
CHANGED
@@ -12,7 +12,7 @@ module Dry
|
|
12
12
|
],
|
13
13
|
dry_inflector: [
|
14
14
|
"dry/inflector",
|
15
|
-
proc { Dry::Inflector.new }
|
15
|
+
proc { ::Dry::Inflector.new }
|
16
16
|
],
|
17
17
|
inflecto: [
|
18
18
|
"inflecto",
|
@@ -25,7 +25,7 @@ module Dry
|
|
25
25
|
# @api private
|
26
26
|
def self.realize_backend(path, backend_factory)
|
27
27
|
require path
|
28
|
-
rescue LoadError
|
28
|
+
rescue ::LoadError
|
29
29
|
nil
|
30
30
|
else
|
31
31
|
backend_factory.call
|
@@ -37,9 +37,11 @@ module Dry
|
|
37
37
|
def self.detect_backend
|
38
38
|
BACKENDS.inject(nil) do |backend, (_, (path, factory))|
|
39
39
|
backend || realize_backend(path, factory)
|
40
|
-
end || raise(
|
41
|
-
|
42
|
-
|
40
|
+
end || raise(
|
41
|
+
LoadError,
|
42
|
+
"No inflector library could be found: " \
|
43
|
+
"please install either the `inflecto` or `activesupport` gem."
|
44
|
+
)
|
43
45
|
end
|
44
46
|
|
45
47
|
# Set preferred backend
|
@@ -47,7 +49,7 @@ module Dry
|
|
47
49
|
# @param [Symbol] name backend name (:activesupport or :inflecto)
|
48
50
|
def self.select_backend(name = nil)
|
49
51
|
if name && !BACKENDS.key?(name)
|
50
|
-
raise NameError, "Invalid inflector library selection: '#{name}'"
|
52
|
+
raise ::NameError, "Invalid inflector library selection: '#{name}'"
|
51
53
|
end
|
52
54
|
|
53
55
|
@inflector = name ? realize_backend(*BACKENDS[name]) : detect_backend
|
data/lib/dry/core/memoizable.rb
CHANGED
@@ -23,7 +23,7 @@ module Dry
|
|
23
23
|
module BasicObject
|
24
24
|
include Base
|
25
25
|
|
26
|
-
def new(
|
26
|
+
def new(*, **)
|
27
27
|
obj = super
|
28
28
|
obj.instance_eval { @__memoized__ = MEMOIZED_HASH.dup }
|
29
29
|
obj
|
@@ -33,15 +33,11 @@ module Dry
|
|
33
33
|
module Object
|
34
34
|
include Base
|
35
35
|
|
36
|
-
def new(
|
36
|
+
def new(*, **)
|
37
37
|
obj = super
|
38
38
|
obj.instance_variable_set(:@__memoized__, MEMOIZED_HASH.dup)
|
39
39
|
obj
|
40
40
|
end
|
41
|
-
|
42
|
-
if respond_to?(:ruby2_keywords, true)
|
43
|
-
ruby2_keywords(:new)
|
44
|
-
end
|
45
41
|
end
|
46
42
|
end
|
47
43
|
|
@@ -77,14 +73,13 @@ module Dry
|
|
77
73
|
|
78
74
|
# @api private
|
79
75
|
# rubocop:disable Metrics/AbcSize
|
80
|
-
# rubocop:disable Metrics/PerceivedComplexity
|
81
76
|
def define_memoizable(method:)
|
82
77
|
parameters = method.parameters
|
83
78
|
mod = self
|
84
79
|
kernel = KERNEL
|
85
80
|
|
86
81
|
if parameters.empty?
|
87
|
-
key = "#{
|
82
|
+
key = "#{__id__}:#{method.name}".hash.abs
|
88
83
|
|
89
84
|
define_method(method.name) do
|
90
85
|
value = super()
|
@@ -134,7 +129,7 @@ module Dry
|
|
134
129
|
WARN
|
135
130
|
end
|
136
131
|
|
137
|
-
|
132
|
+
module_eval(<<~RUBY, __FILE__, __LINE__ + 1)
|
138
133
|
def #{method.name}(#{params.join(", ")}) # def slow_calc(arg1, arg2, arg3)
|
139
134
|
key = [:"#{method.name}", #{binds.join(", ")}].hash # key = [:slow_calc, arg1, arg2, arg3].hash
|
140
135
|
#
|
@@ -146,16 +141,10 @@ module Dry
|
|
146
141
|
end # end
|
147
142
|
RUBY
|
148
143
|
|
149
|
-
if respond_to?(:ruby2_keywords, true) && mapping.key?(:reyrest)
|
150
|
-
ruby2_keywords(method.name)
|
151
|
-
end
|
152
|
-
|
153
|
-
m
|
154
144
|
end
|
155
145
|
end
|
156
|
-
# rubocop:enable Metrics/AbcSize
|
157
|
-
# rubocop:enable Metrics/PerceivedComplexity
|
158
146
|
|
147
|
+
# rubocop:enable Metrics/AbcSize
|
159
148
|
# @api private
|
160
149
|
def declaration(definition, lookup)
|
161
150
|
params = []
|
data/lib/dry/core/version.rb
CHANGED
data/lib/dry/core.rb
CHANGED
@@ -13,10 +13,10 @@ module Dry
|
|
13
13
|
include Constants
|
14
14
|
|
15
15
|
def self.loader
|
16
|
-
@loader ||= Zeitwerk::Loader.new.tap do |loader|
|
17
|
-
root = File.expand_path("..", __dir__)
|
16
|
+
@loader ||= ::Zeitwerk::Loader.new.tap do |loader|
|
17
|
+
root = ::File.expand_path("..", __dir__)
|
18
18
|
loader.tag = "dry-core"
|
19
|
-
loader.inflector = Zeitwerk::GemInflector.new("#{root}/dry-core.rb")
|
19
|
+
loader.inflector = ::Zeitwerk::GemInflector.new("#{root}/dry-core.rb")
|
20
20
|
loader.push_dir(root)
|
21
21
|
loader.ignore(
|
22
22
|
"#{root}/dry-core.rb",
|
@@ -50,7 +50,7 @@ module Dry
|
|
50
50
|
#
|
51
51
|
# @api public
|
52
52
|
def self.Equalizer(*keys, **options)
|
53
|
-
Dry::Core::Equalizer.new(*keys, **options)
|
53
|
+
::Dry::Core::Equalizer.new(*keys, **options)
|
54
54
|
end
|
55
55
|
end
|
56
56
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dry-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nikita Shilnikov
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -25,41 +25,13 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '2.6'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '2.6'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: bundler
|
28
|
+
name: logger
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
44
30
|
requirements:
|
45
31
|
- - ">="
|
46
32
|
- !ruby/object:Gem::Version
|
47
33
|
version: '0'
|
48
|
-
type: :
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rake
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
34
|
+
type: :runtime
|
63
35
|
prerelease: false
|
64
36
|
version_requirements: !ruby/object:Gem::Requirement
|
65
37
|
requirements:
|
@@ -67,19 +39,19 @@ dependencies:
|
|
67
39
|
- !ruby/object:Gem::Version
|
68
40
|
version: '0'
|
69
41
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
42
|
+
name: zeitwerk
|
71
43
|
requirement: !ruby/object:Gem::Requirement
|
72
44
|
requirements:
|
73
|
-
- - "
|
45
|
+
- - "~>"
|
74
46
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
76
|
-
type: :
|
47
|
+
version: '2.6'
|
48
|
+
type: :runtime
|
77
49
|
prerelease: false
|
78
50
|
version_requirements: !ruby/object:Gem::Requirement
|
79
51
|
requirements:
|
80
|
-
- - "
|
52
|
+
- - "~>"
|
81
53
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
54
|
+
version: '2.6'
|
83
55
|
description: A toolset of small support modules used throughout the dry-rb ecosystem
|
84
56
|
email:
|
85
57
|
- fg@flashgordon.ru
|
@@ -127,7 +99,8 @@ metadata:
|
|
127
99
|
changelog_uri: https://github.com/dry-rb/dry-core/blob/main/CHANGELOG.md
|
128
100
|
source_code_uri: https://github.com/dry-rb/dry-core
|
129
101
|
bug_tracker_uri: https://github.com/dry-rb/dry-core/issues
|
130
|
-
|
102
|
+
rubygems_mfa_required: 'true'
|
103
|
+
post_install_message:
|
131
104
|
rdoc_options: []
|
132
105
|
require_paths:
|
133
106
|
- lib
|
@@ -135,15 +108,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
135
108
|
requirements:
|
136
109
|
- - ">="
|
137
110
|
- !ruby/object:Gem::Version
|
138
|
-
version: 3.
|
111
|
+
version: 3.1.0
|
139
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
140
113
|
requirements:
|
141
114
|
- - ">="
|
142
115
|
- !ruby/object:Gem::Version
|
143
116
|
version: '0'
|
144
117
|
requirements: []
|
145
|
-
rubygems_version: 3.3.
|
146
|
-
signing_key:
|
118
|
+
rubygems_version: 3.3.27
|
119
|
+
signing_key:
|
147
120
|
specification_version: 4
|
148
121
|
summary: A toolset of small support modules used throughout the dry-rb ecosystem
|
149
122
|
test_files: []
|