strum 0.0.27 → 0.0.28
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.lock +1 -1
- data/lib/strum/service.rb +16 -11
- data/lib/strum/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: 15db517a81bd94c5d2b0e256715dcded125a9f95160adf4c057e0e17f8329919
|
4
|
+
data.tar.gz: fb713feb05e218bc6db956e9dce30b5c0f30297ebecc8f5d36cabdedb7c25384
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45a8552d856ef10c54792d38bc8b5ab690b2990dad97837422af9c19170e36394246b5b5706a5cfc7e92421da193f763c943e066ca924d0416867cf4f74a541b
|
7
|
+
data.tar.gz: 7c64ba84549dce4473bd351be5ab49384156a6fa39c0df4f5c9ba8a58e72b00da99c02e3cde1fbdd54fa5d8ad377bd61bbecf2afda3ac1af97bc225ce80a92ac
|
data/Gemfile.lock
CHANGED
data/lib/strum/service.rb
CHANGED
@@ -122,23 +122,28 @@ module Strum
|
|
122
122
|
end
|
123
123
|
|
124
124
|
def valid_result(&block)
|
125
|
-
result_outputs =
|
126
|
-
outputs.each_with_object({}) do |(k, v), memo|
|
127
|
-
memo[k] = if v.is_a?(Hash)
|
128
|
-
payload.merge(v)
|
129
|
-
else
|
130
|
-
v
|
131
|
-
end
|
132
|
-
end
|
133
|
-
else
|
134
|
-
outputs
|
135
|
-
end
|
125
|
+
result_outputs = rich_outputs
|
136
126
|
return result_outputs[:default] || result_outputs unless block_given?
|
137
127
|
return StrumMatcher.call([true, result_outputs[:default]], &block) if result_outputs[:default]
|
138
128
|
|
139
129
|
StrumMatcher.call([true, *result_outputs.keys, result_outputs], &block)
|
140
130
|
end
|
141
131
|
|
132
|
+
def rich_outputs
|
133
|
+
return outputs if output_clear?
|
134
|
+
return outputs if payload.nil?
|
135
|
+
return outputs unless payload.is_a?(Hash)
|
136
|
+
return payload unless outputs.count.positive?
|
137
|
+
|
138
|
+
outputs.each_with_object({}) do |(k, v), memo|
|
139
|
+
memo[k] = if v.is_a?(Hash)
|
140
|
+
payload.merge(v)
|
141
|
+
else
|
142
|
+
v
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
146
|
+
|
142
147
|
def invalid_result(&block)
|
143
148
|
return nil unless block_given?
|
144
149
|
|
data/lib/strum/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: strum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.28
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Serhiy Nazarov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-inflector
|