light-service-ext 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6432cb7ae9c048af280e6415e2c57f88038f78129e2a255ab3cf02f82bd29f30
4
- data.tar.gz: 577f2cd174a5c2583cc86550bd7fc12e6aba201eb234c09e26f7c462375b25e0
3
+ metadata.gz: a6820ebd6438ad162b257eb86a7963c0680cc9fc08305481eb7a73ce851006d4
4
+ data.tar.gz: 6c282a19d473b54b3d38effff3b3d1ba4f6a6dea1e793a45608cf8eccabb63ec
5
5
  SHA512:
6
- metadata.gz: 61c7574e1da049c7afdf79c659c6e8c2ae78323197938b0246ed2872c623913148f687507a6d9b4eef074e294909c86e8bb1e4a719dc7e5d49fc52ce9ef83019
7
- data.tar.gz: 7f6318ddb02db397b661d3dc3ae13b531459f67bc1697f9de6bf26fe3a40d388287023400e560319e8da72270c1f2687b3810279a2f9f426e01655ada53224d5
6
+ metadata.gz: dc3d14223917e6e1be10980a39798dcbbc35285f4149c931a37d76cfa8f52341ebd0befa424610822ae81cd4d06e26366528458af32989df71b0c0308c67abc8
7
+ data.tar.gz: 1dfa2a6a4182a0b828ed454f1533ca348ca8ba4ffd75e8287044cad028582a8bb12d23418c69a452ef7599cedf2cf1e43349226be0e3e41085b2b62e0c89ac45
@@ -14,7 +14,7 @@ jobs:
14
14
  strategy:
15
15
  matrix:
16
16
  ruby:
17
- - '2.7.6'
17
+ - '3.0.6'
18
18
 
19
19
  steps:
20
20
  - uses: actions/checkout@v2
data/.rubocop.yml CHANGED
@@ -5,7 +5,7 @@ require:
5
5
 
6
6
  AllCops:
7
7
  NewCops: enable
8
- TargetRubyVersion: 2.7
8
+ TargetRubyVersion: 3.0.6
9
9
  Exclude:
10
10
  - 'lib/light-service-ext.rb'
11
11
  - 'vendor/bundle/**/*'
data/Gemfile CHANGED
@@ -5,7 +5,7 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in light-service-ext.gemspec
6
6
  gemspec
7
7
 
8
- gem "rubocop", "~> 1.44.1"
9
- gem "rubocop-performance", ">= 1.16.0"
8
+ gem 'rubocop', '~> 1.56', '>= 1.56.1'
9
+ gem 'rubocop-performance', '~> 1.19'
10
10
  gem "rubocop-rake", ">= 0.6.0"
11
- gem "rubocop-rspec", ">= 2.18.1"
11
+ gem 'rubocop-rspec', '~> 2.23', '>= 2.23.2'
@@ -29,11 +29,11 @@ module LightServiceExt
29
29
  end
30
30
 
31
31
  def add_params(**params)
32
- add_attrs_to_ctx(:params, params)
32
+ add_attrs_to_ctx(:params, **params)
33
33
  end
34
34
 
35
35
  def add_errors(**errors)
36
- add_attrs_to_ctx(:errors, errors)
36
+ add_attrs_to_ctx(:errors, **errors)
37
37
  end
38
38
 
39
39
  def add_errors!(**errors)
@@ -77,16 +77,6 @@ module LightServiceExt
77
77
  !!self[:allow_raise_on_failure]
78
78
  end
79
79
 
80
- def method_missing(method_name, *arguments, &block)
81
- return self[method_name] if key?(method_name)
82
-
83
- super
84
- end
85
-
86
- def respond_to_missing?(method_name, include_private = false)
87
- key?(method_name) || super
88
- end
89
-
90
80
  private
91
81
 
92
82
  def add_value_to_ctx(key, value)
@@ -107,5 +97,15 @@ module LightServiceExt
107
97
  self[key] = self[key].concat(values).compact
108
98
  nil
109
99
  end
100
+
101
+ def method_missing(method_name, *arguments, &block)
102
+ return self[method_name] if key?(method_name)
103
+
104
+ super
105
+ end
106
+
107
+ def respond_to_missing?(method_name, include_private = false)
108
+ key?(method_name) || super
109
+ end
110
110
  end
111
111
  end
@@ -4,8 +4,8 @@ module LightServiceExt
4
4
  class Configuration
5
5
  include ActiveSupport::Configurable
6
6
 
7
- config_accessor(:allow_raise_on_failure) { true }
8
- config_accessor(:non_fatal_error_classes) { [] }
7
+ config_accessor(:allow_raise_on_failure, default: true)
8
+ config_accessor(:non_fatal_error_classes, default: [])
9
9
  config_accessor(:default_non_fatal_error_classes) { ['Rails::ActiveRecordError'.safe_constantize] }
10
10
  config_accessor(:logger) { (defined? Rails.logger).nil? ? Logger.new($stdout) : Rails.logger }
11
11
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LightServiceExt
4
- VERSION = "0.1.5"
4
+ VERSION = "0.1.6"
5
5
  end
@@ -16,7 +16,7 @@ Gem::Specification.new do |gem|
16
16
  gem.name = "light-service-ext"
17
17
  gem.require_paths = ["lib"]
18
18
  gem.version = LightServiceExt::VERSION
19
- gem.required_ruby_version = ">= 2.6.0"
19
+ gem.required_ruby_version = ">= 3"
20
20
 
21
21
  gem.metadata["homepage_uri"] = gem.homepage
22
22
  gem.metadata["source_code_uri"] = gem.homepage
@@ -26,7 +26,7 @@ Gem::Specification.new do |gem|
26
26
  gem.add_runtime_dependency 'dry-struct', '~> 1.6'
27
27
  gem.add_runtime_dependency 'dry-validation', '~> 1.10'
28
28
  gem.add_runtime_dependency 'json', '~> 2.6', '>= 2.6.3'
29
- gem.add_runtime_dependency 'activesupport', '>= 5'
29
+ gem.add_runtime_dependency 'activesupport', '~> 6.0', '>= 6.0.6'
30
30
 
31
31
  gem.add_development_dependency("rake", "~> 13.0.6")
32
32
  gem.add_development_dependency("rspec", "~> 3.12.0")
@@ -11,7 +11,7 @@ module LightServiceExt
11
11
  it 'adds successful action name to context' do
12
12
  ctx.add_to_successful_actions(value)
13
13
 
14
- expect(ctx.successful_actions).to match_array([value])
14
+ expect(ctx.successful_actions).to contain_exactly(value)
15
15
  end
16
16
 
17
17
  it 'preserves other successful action name' do
@@ -19,7 +19,7 @@ module LightServiceExt
19
19
 
20
20
  ctx.add_to_successful_actions('other-value')
21
21
 
22
- expect(ctx.successful_actions).to match_array([value, 'other-value'])
22
+ expect(ctx.successful_actions).to contain_exactly(value, 'other-value')
23
23
  end
24
24
  end
25
25
 
@@ -27,7 +27,7 @@ module LightServiceExt
27
27
  it 'adds last api response to context' do
28
28
  ctx.add_to_api_responses(value)
29
29
 
30
- expect(ctx.api_responses).to match_array([value])
30
+ expect(ctx.api_responses).to contain_exactly(value)
31
31
  end
32
32
 
33
33
  it 'preserves other api responses' do
@@ -35,7 +35,7 @@ module LightServiceExt
35
35
 
36
36
  ctx.add_to_api_responses('other-value')
37
37
 
38
- expect(ctx.api_responses).to match_array([value, 'other-value'])
38
+ expect(ctx.api_responses).to contain_exactly(value, 'other-value')
39
39
  end
40
40
  end
41
41
 
@@ -263,7 +263,7 @@ module LightServiceExt
263
263
  end
264
264
 
265
265
  it 'allows for overrides' do
266
- expect(ctx_with_defaults[:successful_actions]).to match_array(['some-action-class-name'])
266
+ expect(ctx_with_defaults[:successful_actions]).to contain_exactly('some-action-class-name')
267
267
  end
268
268
  end
269
269
 
@@ -273,7 +273,7 @@ module LightServiceExt
273
273
  end
274
274
 
275
275
  it 'allows for overrides' do
276
- expect(ctx_with_defaults[:api_responses]).to match_array(['some-api-response'])
276
+ expect(ctx_with_defaults[:api_responses]).to contain_exactly('some-api-response')
277
277
  end
278
278
  end
279
279
 
@@ -12,7 +12,7 @@ module LightServiceExt
12
12
 
13
13
  describe '.keys' do
14
14
  it 'returns schema rule keys' do
15
- expect(contract_class.keys).to match_array([:email])
15
+ expect(contract_class.keys).to contain_exactly(:email)
16
16
  end
17
17
  end
18
18
 
@@ -38,10 +38,10 @@ module LightServiceExt
38
38
  expect(result).to be_failure
39
39
 
40
40
  errors = result.errors.to_h
41
- expect(errors.keys).to match_array([:email])
41
+ expect(errors.keys).to contain_exactly(:email)
42
42
 
43
43
  error_messages = errors[:email]
44
- expect(error_messages).to match_array(["must be a valid email"])
44
+ expect(error_messages).to contain_exactly("must be a valid email")
45
45
  end
46
46
  end
47
47
  end
@@ -13,7 +13,7 @@ module LightServiceExt
13
13
 
14
14
  describe '#non_fatal_error_classes' do
15
15
  it 'returns set fatal error classes' do
16
- expect(config.non_fatal_error_classes).to match_array([error_class])
16
+ expect(config.non_fatal_error_classes).to contain_exactly(error_class)
17
17
  end
18
18
  end
19
19
  end
@@ -27,7 +27,7 @@ module LightServiceExt
27
27
 
28
28
  describe '#default_non_fatal_error_classes' do
29
29
  it 'returns set non fatal error classes' do
30
- expect(config.default_non_fatal_error_classes).to match_array([default_error_class])
30
+ expect(config.default_non_fatal_error_classes).to contain_exactly(default_error_class)
31
31
  end
32
32
  end
33
33
  end
@@ -21,8 +21,8 @@ module LightServiceExt
21
21
 
22
22
  it 'returns expected context' do
23
23
  expect(called_ctx.success?).to be_truthy
24
- expect(called_ctx.successful_actions).to match_array([])
25
- expect(called_ctx.api_responses).to match_array([])
24
+ expect(called_ctx.successful_actions).to be_empty
25
+ expect(called_ctx.api_responses).to be_empty
26
26
  expect(called_ctx.status).to eql(Status::INCOMPLETE)
27
27
  expect(called_ctx[:last_failed_context]).to be_nil
28
28
  end
@@ -33,8 +33,8 @@ module LightServiceExt
33
33
 
34
34
  it 'adds api_response as last api response' do
35
35
  expect(called_ctx.success?).to be_truthy
36
- expect(called_ctx.successful_actions).to match_array([action_name])
37
- expect(called_ctx.api_responses).to match_array([current_api_response])
36
+ expect(called_ctx.successful_actions).to contain_exactly(action_name)
37
+ expect(called_ctx.api_responses).to contain_exactly(current_api_response)
38
38
  expect(called_ctx.status).to eql(Status::INCOMPLETE)
39
39
  expect(called_ctx[:last_failed_context]).to be_nil
40
40
  end
@@ -26,7 +26,7 @@ RSpec.describe LightServiceExt do
26
26
 
27
27
  describe '#non_fatal_error_classes' do
28
28
  it 'returns set fatal error classes' do
29
- expect(config.non_fatal_error_classes).to match_array([error_class])
29
+ expect(config.non_fatal_error_classes).to contain_exactly(error_class)
30
30
  end
31
31
  end
32
32
  end
@@ -40,7 +40,7 @@ RSpec.describe LightServiceExt do
40
40
 
41
41
  describe '#default_non_fatal_error_classes' do
42
42
  it 'returns set non fatal error classes' do
43
- expect(config.default_non_fatal_error_classes).to match_array([default_error_class])
43
+ expect(config.default_non_fatal_error_classes).to contain_exactly(default_error_class)
44
44
  end
45
45
  end
46
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: light-service-ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Desmond O'Leary
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-25 00:00:00.000000000 Z
11
+ date: 2023-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: light-service
@@ -82,16 +82,22 @@ dependencies:
82
82
  name: activesupport
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '6.0'
85
88
  - - ">="
86
89
  - !ruby/object:Gem::Version
87
- version: '5'
90
+ version: 6.0.6
88
91
  type: :runtime
89
92
  prerelease: false
90
93
  version_requirements: !ruby/object:Gem::Requirement
91
94
  requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '6.0'
92
98
  - - ">="
93
99
  - !ruby/object:Gem::Version
94
- version: '5'
100
+ version: 6.0.6
95
101
  - !ruby/object:Gem::Dependency
96
102
  name: rake
97
103
  requirement: !ruby/object:Gem::Requirement
@@ -213,7 +219,7 @@ metadata:
213
219
  homepage_uri: https://github.com/omnitech-solutions/light-service-ext
214
220
  source_code_uri: https://github.com/omnitech-solutions/light-service-ext
215
221
  changelog_uri: https://github.com/omnitech-solutions/light-service-ext/CHANGELOG.md
216
- post_install_message:
222
+ post_install_message:
217
223
  rdoc_options: []
218
224
  require_paths:
219
225
  - lib
@@ -221,15 +227,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
221
227
  requirements:
222
228
  - - ">="
223
229
  - !ruby/object:Gem::Version
224
- version: 2.6.0
230
+ version: '3'
225
231
  required_rubygems_version: !ruby/object:Gem::Requirement
226
232
  requirements:
227
233
  - - ">="
228
234
  - !ruby/object:Gem::Version
229
235
  version: '0'
230
236
  requirements: []
231
- rubygems_version: 3.4.8
232
- signing_key:
237
+ rubygems_version: 3.2.33
238
+ signing_key:
233
239
  specification_version: 4
234
240
  summary: Extends light-service with opinionated functionality
235
241
  test_files: