dry-effects 0.3.0 → 0.4.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 +18 -0
- data/dry-effects.gemspec +3 -3
- data/lib/dry/effects/all.rb +1 -5
- data/lib/dry/effects/constructors.rb +29 -3
- data/lib/dry/effects/container.rb +1 -3
- data/lib/dry/effects/effect.rb +0 -2
- data/lib/dry/effects/effects/async.rb +0 -2
- data/lib/dry/effects/effects/cache.rb +0 -2
- data/lib/dry/effects/effects/cmp.rb +0 -2
- data/lib/dry/effects/effects/current_time.rb +0 -11
- data/lib/dry/effects/effects/defer.rb +0 -2
- data/lib/dry/effects/effects/env.rb +0 -2
- data/lib/dry/effects/effects/fork.rb +0 -2
- data/lib/dry/effects/effects/implicit.rb +0 -2
- data/lib/dry/effects/effects/interrupt.rb +0 -2
- data/lib/dry/effects/effects/lock.rb +0 -2
- data/lib/dry/effects/effects/parallel.rb +0 -2
- data/lib/dry/effects/effects/random.rb +0 -2
- data/lib/dry/effects/effects/reader.rb +0 -2
- data/lib/dry/effects/effects/resolve.rb +1 -6
- data/lib/dry/effects/effects/retry.rb +0 -7
- data/lib/dry/effects/effects/state.rb +0 -11
- data/lib/dry/effects/effects/timeout.rb +0 -2
- data/lib/dry/effects/effects/timestamp.rb +0 -2
- data/lib/dry/effects/errors.rb +4 -4
- data/lib/dry/effects/extensions/auto_inject.rb +7 -3
- data/lib/dry/effects/frame.rb +0 -5
- data/lib/dry/effects/halt.rb +0 -1
- data/lib/dry/effects/inflector.rb +0 -2
- data/lib/dry/effects/initializer.rb +0 -2
- data/lib/dry/effects/instructions/execute.rb +0 -6
- data/lib/dry/effects/instructions/raise.rb +0 -6
- data/lib/dry/effects/instructions.rb +15 -0
- data/lib/dry/effects/provider/class_interface.rb +1 -3
- data/lib/dry/effects/provider.rb +0 -3
- data/lib/dry/effects/providers/async.rb +0 -3
- data/lib/dry/effects/providers/cache.rb +0 -3
- data/lib/dry/effects/providers/cmp.rb +0 -2
- data/lib/dry/effects/providers/current_time/time_generators.rb +1 -3
- data/lib/dry/effects/providers/current_time.rb +1 -3
- data/lib/dry/effects/providers/defer.rb +0 -2
- data/lib/dry/effects/providers/env.rb +0 -3
- data/lib/dry/effects/providers/fork.rb +0 -3
- data/lib/dry/effects/providers/implicit.rb +0 -2
- data/lib/dry/effects/providers/interrupt.rb +0 -4
- data/lib/dry/effects/providers/lock.rb +0 -3
- data/lib/dry/effects/providers/parallel.rb +0 -2
- data/lib/dry/effects/providers/random.rb +0 -2
- data/lib/dry/effects/providers/reader.rb +0 -2
- data/lib/dry/effects/providers/resolve.rb +0 -3
- data/lib/dry/effects/providers/retry.rb +0 -3
- data/lib/dry/effects/providers/state.rb +0 -3
- data/lib/dry/effects/providers/timeout.rb +0 -2
- data/lib/dry/effects/providers/timestamp.rb +2 -5
- data/lib/dry/effects/stack.rb +2 -6
- data/lib/dry/effects/version.rb +1 -1
- data/lib/dry/effects.rb +28 -4
- data/lib/dry-effects.rb +3 -0
- metadata +16 -32
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4689f958a2a85578e4e0a3bd536ab47c85537df6782a4e48c9c306c425c7b968
|
|
4
|
+
data.tar.gz: bbcbd08b72281a805c47ea40c75250aedbc755b667e33d9839f51bbb6b7a4658
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1d9a9ec37dff625b770b21a24a10c4ae663bea543b5c9924dc9b4280cfb234b69639dcf82947e53842577aba8a7e93911db938054efa73800480c3ae27185ae5
|
|
7
|
+
data.tar.gz: 844c22f024a56801cf5e351f2e1540d353e570ee7e5b26b94e94e53467605d122408444c32a196fd6c9b773c4d7cdfaaff8c0051d8ca39f4a7c4729d7fa58916
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
<!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
|
|
2
2
|
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Changed
|
|
7
|
+
|
|
8
|
+
- This version is compatible with recently released dry-rb dependencies (@flash-gordon)
|
|
9
|
+
|
|
10
|
+
[Compare v0.3.1...main](https://github.com/dry-rb/dry-effects/compare/v0.3.1...main)
|
|
11
|
+
|
|
12
|
+
## 0.3.1 2022-10-17
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Add missing zeitwerk loader (@flash-gordon)
|
|
18
|
+
|
|
19
|
+
[Compare v0.3.0...v0.3.1](https://github.com/dry-rb/dry-effects/compare/v0.3.0...v0.3.1)
|
|
20
|
+
|
|
3
21
|
## 0.3.0 2022-10-15
|
|
4
22
|
|
|
5
23
|
|
data/dry-effects.gemspec
CHANGED
|
@@ -30,10 +30,10 @@ Gem::Specification.new do |spec|
|
|
|
30
30
|
|
|
31
31
|
# to update dependencies edit project.yml
|
|
32
32
|
spec.add_runtime_dependency "concurrent-ruby", "~> 1.0"
|
|
33
|
-
spec.add_runtime_dependency "dry-
|
|
34
|
-
spec.add_runtime_dependency "dry-
|
|
35
|
-
spec.add_runtime_dependency "dry-inflector", "~> 0.1", ">= 0.1.2"
|
|
33
|
+
spec.add_runtime_dependency "dry-core", "~> 1.0"
|
|
34
|
+
spec.add_runtime_dependency "dry-inflector", "~> 1.0"
|
|
36
35
|
spec.add_runtime_dependency "dry-initializer", "~> 3.0"
|
|
36
|
+
spec.add_runtime_dependency "zeitwerk", "~> 2.6"
|
|
37
37
|
|
|
38
38
|
spec.add_development_dependency "bundler"
|
|
39
39
|
spec.add_development_dependency "rake"
|
data/lib/dry/effects/all.rb
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "concurrent/map"
|
|
4
|
-
require "dry/effects/inflector"
|
|
5
|
-
require "dry/effects/handler"
|
|
6
|
-
|
|
7
3
|
module Dry
|
|
8
4
|
module Effects
|
|
9
5
|
default = %i[
|
|
@@ -40,7 +36,7 @@ module Dry
|
|
|
40
36
|
Providers.const_get(Inflector.camelize(key))
|
|
41
37
|
end
|
|
42
38
|
|
|
43
|
-
Handler.singleton_class.
|
|
39
|
+
Handler.singleton_class.define_method(class_name) do |*args, **kwargs|
|
|
44
40
|
::Dry::Effects.providers[key].mixin(*args, **kwargs)
|
|
45
41
|
end
|
|
46
42
|
end
|
|
@@ -3,10 +3,36 @@
|
|
|
3
3
|
module Dry
|
|
4
4
|
module Effects
|
|
5
5
|
module Constructors
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
# @api public
|
|
7
|
+
def CurrentTime(**kwargs)
|
|
8
|
+
if kwargs.empty?
|
|
9
|
+
Effects::CurrentTime::CurrentTime
|
|
10
|
+
else
|
|
11
|
+
Effects::CurrentTime::CurrentTime.(**kwargs)
|
|
12
|
+
end
|
|
9
13
|
end
|
|
14
|
+
|
|
15
|
+
# @api public
|
|
16
|
+
def Resolve(identifier)
|
|
17
|
+
Effects::Resolve::Resolve.(identifier)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# @api public
|
|
21
|
+
def Retry(scope)
|
|
22
|
+
Effects::Retry::Retry.new(type: :retry, scope: scope)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
# @api public
|
|
26
|
+
def Read(scope)
|
|
27
|
+
Effects::State::State.new(type: :state, name: :read, scope: scope)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# @api public
|
|
31
|
+
def Write(scope, value)
|
|
32
|
+
Effects::State::State.new(type: :state, name: :write, scope: scope, payload: [value])
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
instance_methods(false).each { module_function(_1) }
|
|
10
36
|
end
|
|
11
37
|
end
|
|
12
38
|
end
|
data/lib/dry/effects/effect.rb
CHANGED
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "dry/effects/effect"
|
|
4
|
-
require "dry/effects/constructors"
|
|
5
|
-
|
|
6
3
|
module Dry
|
|
7
4
|
module Effects
|
|
8
5
|
module Effects
|
|
9
6
|
class CurrentTime < ::Module
|
|
10
7
|
CurrentTime = Effect.new(type: :current_time)
|
|
11
8
|
|
|
12
|
-
Constructors.register(:CurrentTime) do |**kwargs|
|
|
13
|
-
if kwargs.empty?
|
|
14
|
-
CurrentTime
|
|
15
|
-
else
|
|
16
|
-
CurrentTime.(**kwargs)
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
9
|
def initialize(**options)
|
|
21
10
|
super()
|
|
22
11
|
|
|
@@ -1,20 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "dry/effects/effect"
|
|
4
|
-
require "dry/effects/constructors"
|
|
5
|
-
|
|
6
3
|
module Dry
|
|
7
4
|
module Effects
|
|
8
5
|
module Effects
|
|
9
6
|
class Resolve < ::Module
|
|
10
|
-
DependencyNameInvalid = Class.new(StandardError)
|
|
7
|
+
DependencyNameInvalid = ::Class.new(StandardError)
|
|
11
8
|
|
|
12
9
|
VALID_NAME = /([a-z_][a-zA-Z_0-9]*)$/.freeze
|
|
13
10
|
|
|
14
11
|
Resolve = Effect.new(type: :resolve)
|
|
15
12
|
|
|
16
|
-
Constructors.register(:Resolve) { Resolve.(_1) }
|
|
17
|
-
|
|
18
13
|
def initialize(*keys, **aliases)
|
|
19
14
|
super()
|
|
20
15
|
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "dry/effects/effect"
|
|
4
|
-
require "dry/effects/constructors"
|
|
5
|
-
|
|
6
3
|
module Dry
|
|
7
4
|
module Effects
|
|
8
5
|
module Effects
|
|
@@ -13,10 +10,6 @@ module Dry
|
|
|
13
10
|
option :scope
|
|
14
11
|
end
|
|
15
12
|
|
|
16
|
-
Constructors.register(:Retry) do |scope|
|
|
17
|
-
Retry.new(type: :retry, scope: scope)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
13
|
def initialize
|
|
21
14
|
super
|
|
22
15
|
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "dry/effects/effect"
|
|
4
|
-
require "dry/effects/constructors"
|
|
5
|
-
|
|
6
3
|
module Dry
|
|
7
4
|
module Effects
|
|
8
5
|
module Effects
|
|
@@ -13,14 +10,6 @@ module Dry
|
|
|
13
10
|
option :scope
|
|
14
11
|
end
|
|
15
12
|
|
|
16
|
-
Constructors.register(:Read) do |scope|
|
|
17
|
-
State.new(type: :state, name: :read, scope: scope)
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
Constructors.register(:Write) do |scope, value|
|
|
21
|
-
State.new(type: :state, name: :write, scope: scope, payload: [value])
|
|
22
|
-
end
|
|
23
|
-
|
|
24
13
|
def initialize(scope, default: Undefined, writer: true, as: scope)
|
|
25
14
|
super()
|
|
26
15
|
|
data/lib/dry/effects/errors.rb
CHANGED
|
@@ -19,7 +19,7 @@ module Dry
|
|
|
19
19
|
|
|
20
20
|
super(
|
|
21
21
|
Undefined.default(message) {
|
|
22
|
-
"Effect #{effect.inspect} not handled. "\
|
|
22
|
+
"Effect #{effect.inspect} not handled. " \
|
|
23
23
|
"Effects must be wrapped with corresponding handlers"
|
|
24
24
|
}
|
|
25
25
|
)
|
|
@@ -31,7 +31,7 @@ module Dry
|
|
|
31
31
|
# @api private
|
|
32
32
|
class MissingStateError < UnhandledEffectError
|
|
33
33
|
def initialize(effect)
|
|
34
|
-
message = "Value of +#{effect.scope}+ is not set, "\
|
|
34
|
+
message = "Value of +#{effect.scope}+ is not set, " \
|
|
35
35
|
"you need to provide value with an effect handler"
|
|
36
36
|
|
|
37
37
|
super(effect, message)
|
|
@@ -45,8 +45,8 @@ module Dry
|
|
|
45
45
|
include Error
|
|
46
46
|
|
|
47
47
|
def initialize(effect)
|
|
48
|
-
message = "+#{effect.scope}+ is not defined, you need to assign it first "\
|
|
49
|
-
"by using a writer, passing initial value to the handler, or "\
|
|
48
|
+
message = "+#{effect.scope}+ is not defined, you need to assign it first " \
|
|
49
|
+
"by using a writer, passing initial value to the handler, or " \
|
|
50
50
|
"providing a fallback value"
|
|
51
51
|
|
|
52
52
|
super(message)
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "concurrent/map"
|
|
4
|
-
require "dry/auto_inject
|
|
5
|
-
require "dry/
|
|
4
|
+
require "dry/auto_inject"
|
|
5
|
+
require "dry/auto_inject/version"
|
|
6
|
+
|
|
7
|
+
if Gem::Version.new(Dry::AutoInject::VERSION) < Gem::Version.new("0.10.0")
|
|
8
|
+
raise RuntimeError, "dry-effects requires dry-auto_inject >= 0.10.0"
|
|
9
|
+
end
|
|
6
10
|
|
|
7
11
|
module Dry
|
|
8
12
|
module Effects
|
|
9
13
|
class DryAutoEffectsStrategies
|
|
10
|
-
extend
|
|
14
|
+
extend Core::Container::Mixin
|
|
11
15
|
|
|
12
16
|
class Base < AutoInject::Strategies::Constructor
|
|
13
17
|
private
|
data/lib/dry/effects/frame.rb
CHANGED
data/lib/dry/effects/halt.rb
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "dry/effects/instruction"
|
|
4
|
-
|
|
5
3
|
module Dry
|
|
6
4
|
module Effects
|
|
7
5
|
module Instructions
|
|
@@ -17,10 +15,6 @@ module Dry
|
|
|
17
15
|
block.call
|
|
18
16
|
end
|
|
19
17
|
end
|
|
20
|
-
|
|
21
|
-
def self.Execute(&block)
|
|
22
|
-
Execute.new(block)
|
|
23
|
-
end
|
|
24
18
|
end
|
|
25
19
|
end
|
|
26
20
|
end
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "dry/effects/instruction"
|
|
4
|
-
|
|
5
3
|
module Dry
|
|
6
4
|
module Effects
|
|
7
5
|
module Instructions
|
|
@@ -17,10 +15,6 @@ module Dry
|
|
|
17
15
|
raise error
|
|
18
16
|
end
|
|
19
17
|
end
|
|
20
|
-
|
|
21
|
-
def self.Raise(error)
|
|
22
|
-
Raise.new(error)
|
|
23
|
-
end
|
|
24
18
|
end
|
|
25
19
|
end
|
|
26
20
|
end
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "dry/effects/frame"
|
|
4
|
-
|
|
5
3
|
module Dry
|
|
6
4
|
module Effects
|
|
7
5
|
class Provider
|
|
@@ -14,7 +12,7 @@ module Dry
|
|
|
14
12
|
@effects = ::Hash.new do |es, type|
|
|
15
13
|
@mutex.synchronize do
|
|
16
14
|
es.fetch(type) do
|
|
17
|
-
es[type] = Class.new(Provider).tap do |provider|
|
|
15
|
+
es[type] = ::Class.new(Provider).tap do |provider|
|
|
18
16
|
provider.type type
|
|
19
17
|
end
|
|
20
18
|
end
|
data/lib/dry/effects/provider.rb
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "dry/effects/provider"
|
|
4
|
-
|
|
5
3
|
module Dry
|
|
6
4
|
module Effects
|
|
7
5
|
module Providers
|
|
8
6
|
class CurrentTime < Provider[:current_time]
|
|
9
|
-
module
|
|
7
|
+
module TimeGenerators
|
|
10
8
|
FixedTimeGenerator = lambda do
|
|
11
9
|
time = ::Time.now
|
|
12
10
|
lambda do |refresh: false, **|
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "time"
|
|
4
|
-
require "dry/effects/provider"
|
|
5
|
-
require "dry/effects/providers/current_time/time_generators"
|
|
6
4
|
|
|
7
5
|
module Dry
|
|
8
6
|
module Effects
|
|
9
7
|
module Providers
|
|
10
8
|
class CurrentTime < Provider[:current_time]
|
|
11
9
|
include ::Dry::Equalizer(:fixed, :round, inspect: false)
|
|
12
|
-
include
|
|
10
|
+
include TimeGenerators
|
|
13
11
|
|
|
14
12
|
Locate = Effect.new(type: :current_time, name: :locate)
|
|
15
13
|
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "dry/effects/provider"
|
|
4
|
-
require "dry/effects/providers/current_time"
|
|
5
|
-
|
|
6
3
|
module Dry
|
|
7
4
|
module Effects
|
|
8
5
|
module Providers
|
|
9
6
|
class Timestamp < Provider[:timestamp]
|
|
10
|
-
include Dry::Equalizer(:round)
|
|
11
|
-
include CurrentTime::
|
|
7
|
+
include ::Dry::Equalizer(:round)
|
|
8
|
+
include CurrentTime::TimeGenerators
|
|
12
9
|
|
|
13
10
|
Locate = Effect.new(type: :timestamp, name: :locate)
|
|
14
11
|
|
data/lib/dry/effects/stack.rb
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "dry/effects/initializer"
|
|
4
|
-
require "dry/effects/effect"
|
|
5
|
-
require "dry/effects/instructions/raise"
|
|
6
|
-
|
|
7
3
|
module Dry
|
|
8
4
|
module Effects
|
|
9
5
|
class Stack
|
|
10
6
|
extend Initializer
|
|
11
|
-
include Enumerable
|
|
12
|
-
include Dry::Equalizer(:providers)
|
|
7
|
+
include ::Enumerable
|
|
8
|
+
include ::Dry::Equalizer(:providers)
|
|
13
9
|
|
|
14
10
|
param :providers, default: -> { [] }
|
|
15
11
|
|
data/lib/dry/effects/version.rb
CHANGED
data/lib/dry/effects.rb
CHANGED
|
@@ -1,21 +1,44 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require "zeitwerk"
|
|
4
|
+
require "concurrent/map"
|
|
5
|
+
|
|
3
6
|
require "dry/core"
|
|
4
|
-
require "dry/
|
|
7
|
+
require "dry/inflector"
|
|
8
|
+
require "dry/initializer"
|
|
9
|
+
|
|
5
10
|
require "dry/effects/container"
|
|
11
|
+
require "dry/effects/inflector"
|
|
12
|
+
require "dry/effects/initializer"
|
|
13
|
+
require "dry/effects/extensions"
|
|
6
14
|
require "dry/effects/errors"
|
|
7
|
-
require "dry/effects/
|
|
15
|
+
require "dry/effects/version"
|
|
8
16
|
|
|
9
17
|
module Dry
|
|
10
18
|
module Effects
|
|
11
19
|
include Core::Constants
|
|
12
20
|
|
|
13
|
-
class Error < StandardError; end
|
|
21
|
+
class Error < ::StandardError; end
|
|
14
22
|
|
|
15
23
|
@effects = Container.new
|
|
16
24
|
@providers = Container.new
|
|
17
25
|
|
|
18
26
|
class << self
|
|
27
|
+
# @api private
|
|
28
|
+
def loader
|
|
29
|
+
@loader ||= ::Zeitwerk::Loader.new.tap do |loader|
|
|
30
|
+
root = ::File.expand_path("..", __dir__)
|
|
31
|
+
loader.tag = "dry-effects"
|
|
32
|
+
loader.inflector = ::Zeitwerk::GemInflector.new("#{root}/dry-effects.rb")
|
|
33
|
+
loader.push_dir(root)
|
|
34
|
+
loader.ignore(
|
|
35
|
+
"#{root}/dry-effects.rb",
|
|
36
|
+
"#{root}/dry/effects/{all,error,extensions,inflector,initializer,version}.rb",
|
|
37
|
+
"#{root}/dry/effects/extensions/**/*.rb"
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
19
42
|
attr_reader :effects, :providers
|
|
20
43
|
|
|
21
44
|
# Handle an effect.
|
|
@@ -66,8 +89,9 @@ module Dry
|
|
|
66
89
|
Handler.new(...)
|
|
67
90
|
end
|
|
68
91
|
end
|
|
92
|
+
|
|
93
|
+
loader.setup
|
|
69
94
|
end
|
|
70
95
|
end
|
|
71
96
|
|
|
72
97
|
require "dry/effects/all"
|
|
73
|
-
require "dry/effects/extensions"
|
data/lib/dry-effects.rb
ADDED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dry-effects
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nikita Shilnikov
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-11-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: concurrent-ruby
|
|
@@ -25,79 +25,61 @@ dependencies:
|
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '1.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: dry-
|
|
28
|
+
name: dry-core
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0
|
|
34
|
-
- - ">="
|
|
35
|
-
- !ruby/object:Gem::Version
|
|
36
|
-
version: 0.7.2
|
|
33
|
+
version: '1.0'
|
|
37
34
|
type: :runtime
|
|
38
35
|
prerelease: false
|
|
39
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
40
37
|
requirements:
|
|
41
38
|
- - "~>"
|
|
42
39
|
- !ruby/object:Gem::Version
|
|
43
|
-
version: '0
|
|
44
|
-
- - ">="
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: 0.7.2
|
|
40
|
+
version: '1.0'
|
|
47
41
|
- !ruby/object:Gem::Dependency
|
|
48
|
-
name: dry-
|
|
42
|
+
name: dry-inflector
|
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
|
50
44
|
requirements:
|
|
51
45
|
- - "~>"
|
|
52
46
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '0
|
|
54
|
-
- - ">="
|
|
55
|
-
- !ruby/object:Gem::Version
|
|
56
|
-
version: '0.9'
|
|
47
|
+
version: '1.0'
|
|
57
48
|
type: :runtime
|
|
58
49
|
prerelease: false
|
|
59
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
60
51
|
requirements:
|
|
61
52
|
- - "~>"
|
|
62
53
|
- !ruby/object:Gem::Version
|
|
63
|
-
version: '0
|
|
64
|
-
- - ">="
|
|
65
|
-
- !ruby/object:Gem::Version
|
|
66
|
-
version: '0.9'
|
|
54
|
+
version: '1.0'
|
|
67
55
|
- !ruby/object:Gem::Dependency
|
|
68
|
-
name: dry-
|
|
56
|
+
name: dry-initializer
|
|
69
57
|
requirement: !ruby/object:Gem::Requirement
|
|
70
58
|
requirements:
|
|
71
59
|
- - "~>"
|
|
72
60
|
- !ruby/object:Gem::Version
|
|
73
|
-
version: '0
|
|
74
|
-
- - ">="
|
|
75
|
-
- !ruby/object:Gem::Version
|
|
76
|
-
version: 0.1.2
|
|
61
|
+
version: '3.0'
|
|
77
62
|
type: :runtime
|
|
78
63
|
prerelease: false
|
|
79
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
80
65
|
requirements:
|
|
81
66
|
- - "~>"
|
|
82
67
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: '0
|
|
84
|
-
- - ">="
|
|
85
|
-
- !ruby/object:Gem::Version
|
|
86
|
-
version: 0.1.2
|
|
68
|
+
version: '3.0'
|
|
87
69
|
- !ruby/object:Gem::Dependency
|
|
88
|
-
name:
|
|
70
|
+
name: zeitwerk
|
|
89
71
|
requirement: !ruby/object:Gem::Requirement
|
|
90
72
|
requirements:
|
|
91
73
|
- - "~>"
|
|
92
74
|
- !ruby/object:Gem::Version
|
|
93
|
-
version: '
|
|
75
|
+
version: '2.6'
|
|
94
76
|
type: :runtime
|
|
95
77
|
prerelease: false
|
|
96
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
97
79
|
requirements:
|
|
98
80
|
- - "~>"
|
|
99
81
|
- !ruby/object:Gem::Version
|
|
100
|
-
version: '
|
|
82
|
+
version: '2.6'
|
|
101
83
|
- !ruby/object:Gem::Dependency
|
|
102
84
|
name: bundler
|
|
103
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -151,6 +133,7 @@ files:
|
|
|
151
133
|
- LICENSE
|
|
152
134
|
- README.md
|
|
153
135
|
- dry-effects.gemspec
|
|
136
|
+
- lib/dry-effects.rb
|
|
154
137
|
- lib/dry/effects.rb
|
|
155
138
|
- lib/dry/effects/all.rb
|
|
156
139
|
- lib/dry/effects/constructors.rb
|
|
@@ -186,6 +169,7 @@ files:
|
|
|
186
169
|
- lib/dry/effects/inflector.rb
|
|
187
170
|
- lib/dry/effects/initializer.rb
|
|
188
171
|
- lib/dry/effects/instruction.rb
|
|
172
|
+
- lib/dry/effects/instructions.rb
|
|
189
173
|
- lib/dry/effects/instructions/execute.rb
|
|
190
174
|
- lib/dry/effects/instructions/raise.rb
|
|
191
175
|
- lib/dry/effects/provider.rb
|