strum-service 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/strum/service.rb +16 -4
- data/lib/strum/service/version.rb +1 -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: 9e9cf711054f4a87537d4e9200065324ab9957f546f4dd156b8efde9dc0bb109
|
4
|
+
data.tar.gz: f261527adff9e339fa220c0557c5631d223a87b5542082b26f0cfa0e41d7f719
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: acb83d0690366234a774fdb9e982ab2d7ca16e36967a8aef313a4b69253b7c7464d336b466e3dd4e3a1eb4ee722c2dc8d5a275514d7a49cecfeb34ca2aa06820
|
7
|
+
data.tar.gz: da811b26cd5f43678c28fbc76b4c6b17a23d5015b74aa58cbf16e736b301ea79ed2cc7c5acb8ccfa68bc9bcf0ba1f67e5a4178a10a803f6e699cd601b2bd4f74
|
data/Gemfile.lock
CHANGED
data/lib/strum/service.rb
CHANGED
@@ -13,6 +13,16 @@ module Strum
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
+
# Define coercive methods
|
17
|
+
COERCIVE_METHODS = %i[add_error add_errors any required sliced sliced_list].freeze
|
18
|
+
|
19
|
+
COERCIVE_METHODS.each do |m|
|
20
|
+
define_method("#{m}!") do |*args, **kwargs, &block|
|
21
|
+
send(m, *args, **kwargs, &block)
|
22
|
+
throw :exit unless valid?
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
16
26
|
# Internal: Interactor class methods.
|
17
27
|
module ClassMethods
|
18
28
|
def call(main_input, **args, &block)
|
@@ -30,9 +40,11 @@ module Strum
|
|
30
40
|
end
|
31
41
|
|
32
42
|
def execute
|
33
|
-
|
34
|
-
|
35
|
-
|
43
|
+
catch(:exit) do
|
44
|
+
audit
|
45
|
+
yield(self) if block_given?
|
46
|
+
call if valid?
|
47
|
+
end
|
36
48
|
valid? ? valid_result : invalid_result
|
37
49
|
end
|
38
50
|
|
@@ -120,7 +132,7 @@ module Strum
|
|
120
132
|
|
121
133
|
def add_error(field, value)
|
122
134
|
strum_errors[field] ||= []
|
123
|
-
strum_errors[field]
|
135
|
+
strum_errors[field] += Array(value)
|
124
136
|
end
|
125
137
|
|
126
138
|
def add_errors(errors)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: strum-service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Serhiy Nazarov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-03-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Strum Service
|
14
14
|
email:
|