use_cases 2.0.7 → 3.0.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/Gemfile +1 -1
- data/Gemfile.lock +11 -2
- data/lib/use_cases/module_optins/locked.rb +4 -4
- data/lib/use_cases/module_optins/transactional.rb +1 -1
- data/lib/use_cases/module_optins/validated.rb +2 -2
- data/lib/use_cases/step_adapters/abstract.rb +4 -5
- data/lib/use_cases/step_adapters/tee.rb +1 -1
- data/lib/use_cases/version.rb +1 -1
- data/use_cases.gemspec +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b5d87b452183c41213d27519293b1fec3bbfb432b48f06369cffd2715a0d15b7
|
4
|
+
data.tar.gz: 6f218dccf622cde2e0f28520c6091f24fcebeb30fb5501c9df206f661a5b566b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42e14eed5800721080ed9a05072624186ba9d4129282283a2edc7f4787c6cb588fe4f660ba3ac88d42309519c161f7c7a56132c9e57ac9611b985ba3baf4af6e
|
7
|
+
data.tar.gz: a99d8b780bb65435eea1ba7fdb9ab5fea8b62bd1aa06c27343fd7896de21871eb3dddc4aded47b95b15343579f5b80a23bc12b4ce235b04f9ee6565cb93d315d
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
use_cases (2.0.
|
4
|
+
use_cases (2.0.7)
|
5
5
|
activesupport (>= 5.1)
|
6
6
|
dry-matcher (>= 0.8.1)
|
7
7
|
dry-monads (>= 1.0.0)
|
@@ -18,6 +18,7 @@ GEM
|
|
18
18
|
zeitwerk (~> 2.3)
|
19
19
|
ast (2.4.2)
|
20
20
|
byebug (11.1.3)
|
21
|
+
coderay (1.1.3)
|
21
22
|
concurrent-ruby (1.1.9)
|
22
23
|
diff-lcs (1.4.4)
|
23
24
|
docile (1.4.0)
|
@@ -63,10 +64,17 @@ GEM
|
|
63
64
|
dry-schema (~> 1.8, >= 1.8.0)
|
64
65
|
i18n (1.8.10)
|
65
66
|
concurrent-ruby (~> 1.0)
|
67
|
+
method_source (1.0.0)
|
66
68
|
minitest (5.14.4)
|
67
69
|
parallel (1.21.0)
|
68
70
|
parser (3.0.2.0)
|
69
71
|
ast (~> 2.4.1)
|
72
|
+
pry (0.14.1)
|
73
|
+
coderay (~> 1.1)
|
74
|
+
method_source (~> 1.0)
|
75
|
+
pry-byebug (3.10.1)
|
76
|
+
byebug (~> 11.0)
|
77
|
+
pry (>= 0.13, < 0.15)
|
70
78
|
rainbow (3.0.0)
|
71
79
|
rake (13.0.6)
|
72
80
|
regexp_parser (2.1.1)
|
@@ -119,6 +127,7 @@ DEPENDENCIES
|
|
119
127
|
dry-matcher
|
120
128
|
dry-monads
|
121
129
|
dry-validation
|
130
|
+
pry-byebug
|
122
131
|
rake (~> 13.0)
|
123
132
|
rspec (~> 3.0)
|
124
133
|
rubocop (~> 1.7)
|
@@ -126,4 +135,4 @@ DEPENDENCIES
|
|
126
135
|
use_cases!
|
127
136
|
|
128
137
|
BUNDLED WITH
|
129
|
-
2.2
|
138
|
+
2.4.2
|
@@ -26,13 +26,13 @@ module UseCases
|
|
26
26
|
end
|
27
27
|
|
28
28
|
module CallPatch
|
29
|
-
def call(
|
29
|
+
def call(...)
|
30
30
|
unless self.class._lock_with
|
31
31
|
raise MissingLockConfiguration, "Locked use cases require setting `lock_with` to define the cache key and wait configuration.\n" \
|
32
32
|
" Example: `lock_with { |params, curent_user| \"my-key-\#{params[:id]}-\#{curent_user.id}\" }`"
|
33
33
|
end
|
34
34
|
|
35
|
-
key = lock_with(
|
35
|
+
key = lock_with(...)
|
36
36
|
|
37
37
|
raise MissingLockerError, "Locked use cases require setting `locker` dependency to define the cache store.\n" unless respond_to?(:locker)
|
38
38
|
|
@@ -45,8 +45,8 @@ module UseCases
|
|
45
45
|
self.class._lock_options
|
46
46
|
end
|
47
47
|
|
48
|
-
def lock_with(
|
49
|
-
self.class._lock_with.is_a?(Proc) ? self.class._lock_with.call(
|
48
|
+
def lock_with(...)
|
49
|
+
self.class._lock_with.is_a?(Proc) ? self.class._lock_with.call(...) : self.class._lock_with
|
50
50
|
end
|
51
51
|
end
|
52
52
|
end
|
@@ -13,7 +13,7 @@ module UseCases
|
|
13
13
|
end
|
14
14
|
|
15
15
|
module DoCallPatch
|
16
|
-
def do_call(*
|
16
|
+
def do_call(*)
|
17
17
|
unless respond_to?(:transaction_handler)
|
18
18
|
raise TransactionHandlerUndefined, "when using *transactional*, make sure to include a transaction handler in your dependencies."
|
19
19
|
end
|
@@ -17,7 +17,7 @@ module UseCases
|
|
17
17
|
end
|
18
18
|
|
19
19
|
module CallPatch
|
20
|
-
def call(*
|
20
|
+
def call(*)
|
21
21
|
unless stack.include_step?(:validate)
|
22
22
|
raise NoValidationError,
|
23
23
|
"Make sure to define params validations by using *params*" \
|
@@ -67,7 +67,7 @@ module UseCases
|
|
67
67
|
|
68
68
|
private
|
69
69
|
|
70
|
-
def validate(params, *
|
70
|
+
def validate(params, *)
|
71
71
|
return Failure([:validation_error, "*params* must be a hash."]) unless params.respond_to?(:merge)
|
72
72
|
|
73
73
|
validation = contract.call(params)
|
@@ -10,18 +10,17 @@ module UseCases
|
|
10
10
|
|
11
11
|
attr_reader :name, :object, :failure, :options
|
12
12
|
|
13
|
-
def initialize(name, *args
|
13
|
+
def initialize(name, *args)
|
14
14
|
@name = name
|
15
|
-
@object = args
|
16
|
-
@options = options
|
15
|
+
@object, @options = args
|
17
16
|
end
|
18
17
|
|
19
18
|
def previous_step_result
|
20
19
|
object.stack.prev_step_result
|
21
20
|
end
|
22
21
|
|
23
|
-
def call(
|
24
|
-
UseCases::Result.new(self, do_call(
|
22
|
+
def call(...)
|
23
|
+
UseCases::Result.new(self, do_call(...))
|
25
24
|
end
|
26
25
|
|
27
26
|
def do_call(*initial_args)
|
data/lib/use_cases/version.rb
CHANGED
data/use_cases.gemspec
CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.description = "A DSL to encapsulate your domain logic."
|
13
13
|
spec.homepage = "https://github.com/listminut/use_cases"
|
14
14
|
spec.license = "MIT"
|
15
|
-
spec.required_ruby_version = ">=
|
15
|
+
spec.required_ruby_version = ">= 3.0.0"
|
16
16
|
|
17
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
18
18
|
spec.metadata["source_code_uri"] = "https://github.com/listminut/use_cases"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: use_cases
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ring Twice
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -176,7 +176,7 @@ metadata:
|
|
176
176
|
homepage_uri: https://github.com/listminut/use_cases
|
177
177
|
source_code_uri: https://github.com/listminut/use_cases
|
178
178
|
changelog_uri: https://github.com/listminut/use_cases/CHANGELOG.md
|
179
|
-
post_install_message:
|
179
|
+
post_install_message:
|
180
180
|
rdoc_options: []
|
181
181
|
require_paths:
|
182
182
|
- lib
|
@@ -184,15 +184,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
184
184
|
requirements:
|
185
185
|
- - ">="
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version:
|
187
|
+
version: 3.0.0
|
188
188
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
189
189
|
requirements:
|
190
190
|
- - ">="
|
191
191
|
- !ruby/object:Gem::Version
|
192
192
|
version: '0'
|
193
193
|
requirements: []
|
194
|
-
rubygems_version: 3.
|
195
|
-
signing_key:
|
194
|
+
rubygems_version: 3.2.33
|
195
|
+
signing_key:
|
196
196
|
specification_version: 4
|
197
197
|
summary: Use Cases
|
198
198
|
test_files: []
|