dry-core 1.0.2 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -1
- data/README.md +2 -2
- data/dry-core.gemspec +9 -12
- 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 +2 -2
- 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 +7 -48
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
|
|
@@ -12,7 +22,7 @@
|
|
12
22
|
|
13
23
|
### Changed
|
14
24
|
|
15
|
-
- Minimal Ruby version is 3.0
|
25
|
+
- Minimal Ruby version is 3.0 (@flash-gordon)
|
16
26
|
|
17
27
|
[Compare v1.0.0...v1.0.1](https://github.com/dry-rb/dry-core/compare/v1.0.0...v1.0.1)
|
18
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 Version](https://badge.fury.io/rb/dry-core.svg)][gem] [![CI Status](https://github.com/dry-rb/dry-core/workflows/
|
5
|
+
# dry-core [![Gem Version](https://badge.fury.io/rb/dry-core.svg)][gem] [![CI Status](https://github.com/dry-rb/dry-core/workflows/CI/badge.svg)][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,19 +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
|
-
spec.
|
35
|
-
|
36
|
-
spec.add_development_dependency "bundler"
|
37
|
-
spec.add_development_dependency "rake"
|
38
|
-
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"
|
39
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
|
@@ -106,7 +106,7 @@ module Dry
|
|
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
|
@@ -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
|
@@ -52,48 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.6'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: bundler
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ">="
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ">="
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rake
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0'
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rspec
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
55
|
description: A toolset of small support modules used throughout the dry-rb ecosystem
|
98
56
|
email:
|
99
57
|
- fg@flashgordon.ru
|
@@ -141,7 +99,8 @@ metadata:
|
|
141
99
|
changelog_uri: https://github.com/dry-rb/dry-core/blob/main/CHANGELOG.md
|
142
100
|
source_code_uri: https://github.com/dry-rb/dry-core
|
143
101
|
bug_tracker_uri: https://github.com/dry-rb/dry-core/issues
|
144
|
-
|
102
|
+
rubygems_mfa_required: 'true'
|
103
|
+
post_install_message:
|
145
104
|
rdoc_options: []
|
146
105
|
require_paths:
|
147
106
|
- lib
|
@@ -149,7 +108,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
108
|
requirements:
|
150
109
|
- - ">="
|
151
110
|
- !ruby/object:Gem::Version
|
152
|
-
version: 3.
|
111
|
+
version: 3.1.0
|
153
112
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
113
|
requirements:
|
155
114
|
- - ">="
|
@@ -157,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
116
|
version: '0'
|
158
117
|
requirements: []
|
159
118
|
rubygems_version: 3.3.27
|
160
|
-
signing_key:
|
119
|
+
signing_key:
|
161
120
|
specification_version: 4
|
162
121
|
summary: A toolset of small support modules used throughout the dry-rb ecosystem
|
163
122
|
test_files: []
|