strum-service 0.2.1 → 0.2.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b710112b00697a5e9ffa85d91dd191518863157d9d1ad9c7263bbfb8ec37cf07
4
- data.tar.gz: 73e87d006e34ed66f4930f12682d1a1eba0be9ec4a47e5634c76d149eda1a27f
3
+ metadata.gz: 5189e160a086e20e07bdcc593c18334e8a9b821bbc2f4d26567a2f5fcba08067
4
+ data.tar.gz: d8d80b04600eeb1b3a2d933b8811d2061b959ff385cee52f1d47d06d60a17aea
5
5
  SHA512:
6
- metadata.gz: 51db6798a851873b819e433e014cc0addfc7bd45c8dab3e40c2a18d3eea8263db919f0eb82f8efd6d1d82781bf406446c4c64959cc7849a4ab95a2485f77d6f6
7
- data.tar.gz: 3ebec9e9088617fb0c66702bd7f8514dbd2e399d646e37225002cd3de865ff084463f82367fda5e70f3cb525b456bdf1acc06c897eba205ce64967a54a9895e1
6
+ metadata.gz: 29510b09777a53d1befe59a80efdb0dca47ed44721e9c3e27c99b6035e3c2084fa6ac5e120f71822e54d9ead423c281c88d1a57f8ef4932dba62504b97e4217b
7
+ data.tar.gz: fae7e288048a8b8cadccd9a322b211b6a7e9ccc3d248dba6c13150d31cfb0201634f6a094862f491916783ea18dbd5ab122339053a42912f2937fc11facd54c2
data/Gemfile CHANGED
@@ -7,8 +7,8 @@ gemspec
7
7
 
8
8
  gem "rake", "~> 12.0"
9
9
 
10
- gem "rspec", "~> 3.10"
11
- gem "rubocop", "~> 1.5"
12
- gem "rubocop-ast", "~> 1.3"
13
- gem "rubocop-rake", "~> 0.5.1"
14
- gem "rubocop-rspec", "~> 2.0.0"
10
+ gem "rspec", "~> 3.11.0"
11
+ gem "rubocop", "~> 1.25.1"
12
+ gem "rubocop-ast", "~> 1.16.0"
13
+ gem "rubocop-rake", "~> 0.6.0"
14
+ gem "rubocop-rspec", "~> 2.9.0"
data/Gemfile.lock CHANGED
@@ -1,63 +1,62 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- strum-service (0.2.1)
4
+ strum-service (0.2.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
9
  ast (2.4.2)
10
- diff-lcs (1.4.4)
11
- parallel (1.20.1)
12
- parser (3.0.2.0)
10
+ diff-lcs (1.5.0)
11
+ parallel (1.21.0)
12
+ parser (3.1.1.0)
13
13
  ast (~> 2.4.1)
14
- rainbow (3.0.0)
14
+ rainbow (3.1.1)
15
15
  rake (12.3.3)
16
- regexp_parser (2.1.1)
16
+ regexp_parser (2.2.1)
17
17
  rexml (3.2.5)
18
- rspec (3.10.0)
19
- rspec-core (~> 3.10.0)
20
- rspec-expectations (~> 3.10.0)
21
- rspec-mocks (~> 3.10.0)
22
- rspec-core (3.10.1)
23
- rspec-support (~> 3.10.0)
24
- rspec-expectations (3.10.1)
18
+ rspec (3.11.0)
19
+ rspec-core (~> 3.11.0)
20
+ rspec-expectations (~> 3.11.0)
21
+ rspec-mocks (~> 3.11.0)
22
+ rspec-core (3.11.0)
23
+ rspec-support (~> 3.11.0)
24
+ rspec-expectations (3.11.0)
25
25
  diff-lcs (>= 1.2.0, < 2.0)
26
- rspec-support (~> 3.10.0)
27
- rspec-mocks (3.10.2)
26
+ rspec-support (~> 3.11.0)
27
+ rspec-mocks (3.11.0)
28
28
  diff-lcs (>= 1.2.0, < 2.0)
29
- rspec-support (~> 3.10.0)
30
- rspec-support (3.10.2)
31
- rubocop (1.18.4)
29
+ rspec-support (~> 3.11.0)
30
+ rspec-support (3.11.0)
31
+ rubocop (1.25.1)
32
32
  parallel (~> 1.10)
33
- parser (>= 3.0.0.0)
33
+ parser (>= 3.1.0.0)
34
34
  rainbow (>= 2.2.2, < 4.0)
35
35
  regexp_parser (>= 1.8, < 3.0)
36
36
  rexml
37
- rubocop-ast (>= 1.8.0, < 2.0)
37
+ rubocop-ast (>= 1.15.1, < 2.0)
38
38
  ruby-progressbar (~> 1.7)
39
39
  unicode-display_width (>= 1.4.0, < 3.0)
40
- rubocop-ast (1.8.0)
41
- parser (>= 3.0.1.1)
42
- rubocop-rake (0.5.1)
43
- rubocop
44
- rubocop-rspec (2.0.1)
40
+ rubocop-ast (1.16.0)
41
+ parser (>= 3.1.1.0)
42
+ rubocop-rake (0.6.0)
45
43
  rubocop (~> 1.0)
46
- rubocop-ast (>= 1.1.0)
44
+ rubocop-rspec (2.9.0)
45
+ rubocop (~> 1.19)
47
46
  ruby-progressbar (1.11.0)
48
- unicode-display_width (2.0.0)
47
+ unicode-display_width (2.1.0)
49
48
 
50
49
  PLATFORMS
51
50
  ruby
52
51
 
53
52
  DEPENDENCIES
54
53
  rake (~> 12.0)
55
- rspec (~> 3.10)
56
- rubocop (~> 1.5)
57
- rubocop-ast (~> 1.3)
58
- rubocop-rake (~> 0.5.1)
59
- rubocop-rspec (~> 2.0.0)
54
+ rspec (~> 3.11.0)
55
+ rubocop (~> 1.25.1)
56
+ rubocop-ast (~> 1.16.0)
57
+ rubocop-rake (~> 0.6.0)
58
+ rubocop-rspec (~> 2.9.0)
60
59
  strum-service!
61
60
 
62
61
  BUNDLED WITH
63
- 2.2.15
62
+ 2.3.14
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Strum
4
4
  module Service
5
- VERSION = "0.2.1"
5
+ VERSION = "0.2.4"
6
6
  end
7
7
  end
data/lib/strum/service.rb CHANGED
@@ -45,8 +45,8 @@ module Strum
45
45
 
46
46
  def execute
47
47
  catch(:exit) do
48
- audit
49
48
  yield(self) if block_given?
49
+ audit
50
50
  call if valid?
51
51
  end
52
52
  valid? ? valid_result : invalid_result
@@ -85,7 +85,7 @@ module Strum
85
85
  end
86
86
 
87
87
  def respond_to_missing?(method_name, include_private = false)
88
- input.is_a?(Hash) && input[method_name.to_sym] || super
88
+ (input.is_a?(Hash) && input[method_name.to_sym]) || super
89
89
  end
90
90
 
91
91
  protected
@@ -147,7 +147,7 @@ module Strum
147
147
 
148
148
  def required(*keys)
149
149
  if input.is_a?(Hash)
150
- (keys - input.keys).each { |key| add_error(key, :field_must_exist) }
150
+ (keys - service_keys).each { |key| add_error(key, :field_must_exist) }
151
151
  else
152
152
  add_error(:input, :must_be_hash)
153
153
  end
@@ -155,7 +155,7 @@ module Strum
155
155
 
156
156
  def any(*keys)
157
157
  if input.is_a?(Hash)
158
- add_error(:input, :any_field_must_exist) unless (keys & input.keys).count.positive?
158
+ add_error(:input, :any_field_must_exist) unless (keys & service_keys).count.positive?
159
159
  else
160
160
  add_error(:input, :must_be_hash)
161
161
  end
@@ -163,14 +163,14 @@ module Strum
163
163
 
164
164
  def sliced(*keys)
165
165
  if input.is_a?(Hash)
166
- self.input = input.slice(*keys)
166
+ self.input = input.merge(args).slice(*keys)
167
167
  else
168
168
  add_error(:input, :must_be_hash)
169
169
  end
170
170
  end
171
171
 
172
172
  def sliced_list(*keys)
173
- add_error(:input, :must_be_array) && retuen unless input.is_a?(Array)
173
+ add_error(:input, :must_be_array) && return unless input.is_a?(Array)
174
174
 
175
175
  self.input = input.map do |item|
176
176
  if item.is_a?(Hash)
@@ -181,6 +181,10 @@ module Strum
181
181
  end
182
182
  end
183
183
 
184
+ def service_keys
185
+ input.keys | args.keys
186
+ end
187
+
184
188
  def array!
185
189
  self.input = [*input]
186
190
  end
@@ -29,4 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.bindir = "exe"
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
+ spec.metadata["rubygems_mfa_required"] = "false"
32
33
  end
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.2.1
4
+ version: 0.2.4
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-08-17 00:00:00.000000000 Z
11
+ date: 2022-07-19 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Strum Service
14
14
  email:
@@ -42,6 +42,7 @@ metadata:
42
42
  source_code_uri: https://gitlab.com/strum-rb/strum-service
43
43
  changelog_uri: https://gitlab.com/strum-rb/strum-service/-/blob/master/CHANGELOG.md
44
44
  bug_tracker_uri: https://gitlab.com/strum-rb/strum-service/issues
45
+ rubygems_mfa_required: 'false'
45
46
  post_install_message:
46
47
  rdoc_options: []
47
48
  require_paths: