dry-effects 0.1.5 → 0.3.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 +34 -0
- data/LICENSE +1 -1
- data/README.md +5 -4
- data/dry-effects.gemspec +15 -15
- data/lib/dry/effects/all.rb +3 -3
- data/lib/dry/effects/container.rb +1 -1
- data/lib/dry/effects/effect.rb +1 -2
- data/lib/dry/effects/effects/async.rb +4 -2
- data/lib/dry/effects/effects/cache.rb +13 -9
- data/lib/dry/effects/effects/cmp.rb +3 -1
- data/lib/dry/effects/effects/current_time.rb +4 -2
- data/lib/dry/effects/effects/defer.rb +3 -1
- data/lib/dry/effects/effects/env.rb +3 -1
- data/lib/dry/effects/effects/fork.rb +3 -1
- data/lib/dry/effects/effects/implicit.rb +3 -1
- data/lib/dry/effects/effects/interrupt.rb +3 -1
- data/lib/dry/effects/effects/lock.rb +3 -1
- data/lib/dry/effects/effects/parallel.rb +4 -2
- data/lib/dry/effects/effects/random.rb +3 -1
- data/lib/dry/effects/effects/reader.rb +1 -1
- data/lib/dry/effects/effects/resolve.rb +24 -4
- data/lib/dry/effects/effects/retry.rb +4 -2
- data/lib/dry/effects/effects/state.rb +4 -2
- data/lib/dry/effects/effects/timeout.rb +3 -1
- data/lib/dry/effects/effects/timestamp.rb +3 -1
- data/lib/dry/effects/errors.rb +4 -4
- data/lib/dry/effects/extensions/active_support/tagged_logging.rb +1 -1
- data/lib/dry/effects/extensions/auto_inject.rb +5 -5
- data/lib/dry/effects/extensions/system.rb +9 -8
- data/lib/dry/effects/extensions.rb +4 -6
- data/lib/dry/effects/frame.rb +23 -9
- data/lib/dry/effects/halt.rb +2 -3
- data/lib/dry/effects/handler.rb +2 -10
- data/lib/dry/effects/inflector.rb +1 -1
- data/lib/dry/effects/initializer.rb +17 -17
- data/lib/dry/effects/instructions/execute.rb +2 -1
- data/lib/dry/effects/instructions/raise.rb +2 -1
- data/lib/dry/effects/provider/class_interface.rb +1 -2
- data/lib/dry/effects/provider.rb +2 -2
- data/lib/dry/effects/providers/async.rb +2 -2
- data/lib/dry/effects/providers/cache.rb +2 -2
- data/lib/dry/effects/providers/cmp.rb +1 -1
- data/lib/dry/effects/providers/current_time/time_generators.rb +1 -1
- data/lib/dry/effects/providers/current_time.rb +5 -5
- data/lib/dry/effects/providers/defer.rb +7 -7
- data/lib/dry/effects/providers/env.rb +3 -3
- data/lib/dry/effects/providers/fork.rb +2 -2
- data/lib/dry/effects/providers/implicit.rb +1 -1
- data/lib/dry/effects/providers/interrupt.rb +3 -3
- data/lib/dry/effects/providers/lock.rb +5 -8
- data/lib/dry/effects/providers/parallel.rb +3 -3
- data/lib/dry/effects/providers/random.rb +5 -4
- data/lib/dry/effects/providers/reader.rb +1 -1
- data/lib/dry/effects/providers/resolve.rb +8 -7
- data/lib/dry/effects/providers/retry.rb +5 -7
- data/lib/dry/effects/providers/state.rb +2 -2
- data/lib/dry/effects/providers/timeout.rb +2 -2
- data/lib/dry/effects/providers/timestamp.rb +2 -2
- data/lib/dry/effects/stack.rb +7 -7
- data/lib/dry/effects/version.rb +1 -1
- data/lib/dry/effects.rb +9 -9
- metadata +9 -29
data/lib/dry/effects/stack.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
3
|
+
require "dry/effects/initializer"
|
4
|
+
require "dry/effects/effect"
|
5
|
+
require "dry/effects/instructions/raise"
|
6
6
|
|
7
7
|
module Dry
|
8
8
|
module Effects
|
@@ -23,7 +23,7 @@ module Dry
|
|
23
23
|
else
|
24
24
|
yield
|
25
25
|
end
|
26
|
-
rescue ::Exception => e
|
26
|
+
rescue ::Exception => e # rubocop:disable Lint/RescueException
|
27
27
|
Instructions::Raise.new(e)
|
28
28
|
end
|
29
29
|
|
@@ -35,7 +35,7 @@ module Dry
|
|
35
35
|
end
|
36
36
|
|
37
37
|
def provider(effect)
|
38
|
-
find {
|
38
|
+
find { _1.provide?(effect) }
|
39
39
|
end
|
40
40
|
|
41
41
|
def each(&block)
|
@@ -56,9 +56,9 @@ module Dry
|
|
56
56
|
|
57
57
|
def to_s
|
58
58
|
if empty?
|
59
|
-
|
59
|
+
"#<Dry::Effects::Stack>"
|
60
60
|
else
|
61
|
-
stack = map(&:represent).reverse.join(
|
61
|
+
stack = map(&:represent).reverse.join("->")
|
62
62
|
|
63
63
|
"#<Dry::Effects::Stack #{stack}>"
|
64
64
|
end
|
data/lib/dry/effects/version.rb
CHANGED
data/lib/dry/effects.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
3
|
+
require "dry/core"
|
4
|
+
require "dry/effects/version"
|
5
|
+
require "dry/effects/container"
|
6
|
+
require "dry/effects/errors"
|
7
|
+
require "dry/effects/instructions/raise"
|
8
8
|
|
9
9
|
module Dry
|
10
10
|
module Effects
|
@@ -62,12 +62,12 @@ module Dry
|
|
62
62
|
# @param [Array<Object>] args Handler parameters
|
63
63
|
# @return [Handler]
|
64
64
|
# @api public
|
65
|
-
def [](
|
66
|
-
Handler.new(
|
65
|
+
def [](...)
|
66
|
+
Handler.new(...)
|
67
67
|
end
|
68
68
|
end
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
-
require
|
73
|
-
require
|
72
|
+
require "dry/effects/all"
|
73
|
+
require "dry/effects/extensions"
|
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.3.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:
|
11
|
+
date: 2022-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -50,40 +50,20 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0.
|
53
|
+
version: '0.9'
|
54
54
|
- - ">="
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 0.
|
56
|
+
version: '0.9'
|
57
57
|
type: :runtime
|
58
58
|
prerelease: false
|
59
59
|
version_requirements: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: '0.
|
63
|
+
version: '0.9'
|
64
64
|
- - ">="
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: 0.
|
67
|
-
- !ruby/object:Gem::Dependency
|
68
|
-
name: dry-equalizer
|
69
|
-
requirement: !ruby/object:Gem::Requirement
|
70
|
-
requirements:
|
71
|
-
- - "~>"
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: '0.2'
|
74
|
-
- - ">="
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: 0.2.2
|
77
|
-
type: :runtime
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: !ruby/object:Gem::Requirement
|
80
|
-
requirements:
|
81
|
-
- - "~>"
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: '0.2'
|
84
|
-
- - ">="
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: 0.2.2
|
66
|
+
version: '0.9'
|
87
67
|
- !ruby/object:Gem::Dependency
|
88
68
|
name: dry-inflector
|
89
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -236,7 +216,7 @@ licenses:
|
|
236
216
|
- MIT
|
237
217
|
metadata:
|
238
218
|
allowed_push_host: https://rubygems.org
|
239
|
-
changelog_uri: https://github.com/dry-rb/dry-effects/blob/
|
219
|
+
changelog_uri: https://github.com/dry-rb/dry-effects/blob/main/CHANGELOG.md
|
240
220
|
source_code_uri: https://github.com/dry-rb/dry-effects
|
241
221
|
bug_tracker_uri: https://github.com/dry-rb/dry-effects/issues
|
242
222
|
post_install_message:
|
@@ -247,14 +227,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
247
227
|
requirements:
|
248
228
|
- - ">="
|
249
229
|
- !ruby/object:Gem::Version
|
250
|
-
version: 2.
|
230
|
+
version: 2.7.0
|
251
231
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
252
232
|
requirements:
|
253
233
|
- - ">="
|
254
234
|
- !ruby/object:Gem::Version
|
255
235
|
version: '0'
|
256
236
|
requirements: []
|
257
|
-
rubygems_version: 3.
|
237
|
+
rubygems_version: 3.1.6
|
258
238
|
signing_key:
|
259
239
|
specification_version: 4
|
260
240
|
summary: Algebraic effects
|