use_cases 0.3.1 → 0.3.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/Gemfile.lock +1 -1
- data/README.md +2 -0
- data/lib/use_cases/notifications.rb +0 -2
- data/lib/use_cases/rspec/matchers.rb +4 -4
- data/lib/use_cases/step_adapters/abstract.rb +2 -2
- data/lib/use_cases/step_adapters/authorize.rb +2 -2
- data/lib/use_cases/step_adapters/enqueue.rb +1 -1
- data/lib/use_cases/step_adapters/try.rb +1 -1
- data/lib/use_cases/version.rb +1 -1
- data/lib/use_cases.rb +5 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c255a9eb076badd633005c245163cbbbbd6a7f88c499e1802a8f46c1027d7d3
|
4
|
+
data.tar.gz: 853ccd683b1a558b55af72c4a69785ed928334ec8b28aa504d4512b3ac844fb4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a844007db36260f84d7946d42967493d24677b6b164fde954444eed12985255b161b15d67883b4ffdf87297740622bfdf721132842b68b7d362d273f70c5e935
|
7
|
+
data.tar.gz: 173a36fd17694b838a4d74f56cb1a3bd1014333280a39d1164f952ae82562e80991b0774b1cc34532e956f45698c66cd855cb3a64314177e6e5335217035fa3d
|
data/.gitignore
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
# UseCases
|
6
6
|
|
7
|
+
## Currently Unstable! Use at your own risk.
|
8
|
+
|
7
9
|
`UseCases` is a gem based on the [dry-transaction](https://dry-rb.org/gems/dry-transaction/) DSL that implements macros commonly used internally by Ring Twice.
|
8
10
|
|
9
11
|
`UseCases` does not however use `dry-transaction` behind the scenes. Instead it relies on other `dry` libraries like [dry-validation](https://dry-rb.org/gems/dry-validation/), [dry-events](https://dry-rb.org/gems/dry-validation/) and [dry-monads](https://dry-rb.org/gems/dry-validation/) to implement a DSL that can be flexible enough for our needs.
|
@@ -5,7 +5,7 @@ require "rspec"
|
|
5
5
|
RSpec::Matchers.define(:be_failure_with_code) do |expected_code|
|
6
6
|
match do |test_subject|
|
7
7
|
expect(test_subject.failure?).to be true
|
8
|
-
expect(test_subject.failure.first).to
|
8
|
+
expect(test_subject.failure.first).to eql expected_code
|
9
9
|
end
|
10
10
|
|
11
11
|
failure_message do |test_subject|
|
@@ -20,7 +20,7 @@ end
|
|
20
20
|
RSpec::Matchers.define(:be_failure_with_payload) do |expected_result|
|
21
21
|
match do |test_subject|
|
22
22
|
expect(test_subject.failure?).to be true
|
23
|
-
expect(test_subject.failure.last).to
|
23
|
+
expect(test_subject.failure.last).to eql expected_result
|
24
24
|
end
|
25
25
|
|
26
26
|
failure_message do |test_subject|
|
@@ -35,7 +35,7 @@ end
|
|
35
35
|
RSpec::Matchers.define(:be_failure_with) do |*expected_failure|
|
36
36
|
match do |test_subject|
|
37
37
|
expect(test_subject.failure?).to be true
|
38
|
-
expect(test_subject.failure).to
|
38
|
+
expect(test_subject.failure).to eql expected_failure
|
39
39
|
end
|
40
40
|
|
41
41
|
failure_message do |test_subject|
|
@@ -50,7 +50,7 @@ end
|
|
50
50
|
RSpec::Matchers.define(:be_successful_with) do |expected_result|
|
51
51
|
match do |test_subject|
|
52
52
|
expect(test_subject.success?).to be true
|
53
|
-
expect(test_subject.success).to
|
53
|
+
expect(test_subject.success).to eql expected_result
|
54
54
|
end
|
55
55
|
|
56
56
|
failure_message do |test_subject|
|
@@ -55,14 +55,14 @@ module UseCases
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def callable_proc
|
58
|
-
callable_object.method(callable_method)
|
58
|
+
callable_object.method(callable_method).to_proc
|
59
59
|
end
|
60
60
|
|
61
61
|
def callable_object
|
62
62
|
case options[:with]
|
63
63
|
when NilClass, FalseClass then object
|
64
64
|
when String then object.send(options[:with])
|
65
|
-
else options[:with]
|
65
|
+
else send(options[:with])
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
@@ -12,8 +12,8 @@ module UseCases
|
|
12
12
|
prev_result = previous_step_result.value
|
13
13
|
raise InvalidReturnValue, "The return value should not be a Monad." if result.is_a?(Dry::Monads::Result)
|
14
14
|
|
15
|
-
failure_code = options[:failure] || :
|
16
|
-
failure_message = options[:failure_message] || "
|
15
|
+
failure_code = options[:failure] || :unauthorized
|
16
|
+
failure_message = options[:failure_message] || "Not Authorized"
|
17
17
|
|
18
18
|
result ? Success(prev_result) : Failure([failure_code, failure_message])
|
19
19
|
end
|
@@ -6,7 +6,7 @@ module UseCases
|
|
6
6
|
def do_call(*base_args)
|
7
7
|
args = [object.class.name, name.to_s, *base_args]
|
8
8
|
args = ::UseCases::StepActiveJobAdapter.serialize_step_arguments(args)
|
9
|
-
|
9
|
+
|
10
10
|
job_options = options.slice(:queue, :wait, :wait_until, :priority)
|
11
11
|
|
12
12
|
::UseCases::StepActiveJobAdapter.set(job_options).perform_later(*args)
|
data/lib/use_cases/version.rb
CHANGED
data/lib/use_cases.rb
CHANGED
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: 0.3.
|
4
|
+
version: 0.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ring Twice
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|