use_cases 2.0.7 → 3.0.0

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: 72739169a47d340ca0a214d5545d51da25abf076eb07d117405a89b64b950cab
4
- data.tar.gz: 99eaab606b81e3c4640ac00f2f55ef0b38d5d8a1cbdd91bdf206f704cd19f2be
3
+ metadata.gz: b5d87b452183c41213d27519293b1fec3bbfb432b48f06369cffd2715a0d15b7
4
+ data.tar.gz: 6f218dccf622cde2e0f28520c6091f24fcebeb30fb5501c9df206f661a5b566b
5
5
  SHA512:
6
- metadata.gz: 7273f8f7e7f352f67f481a46ffc21f63e459eaa89a4dd248963c589eda01c8fc4ec7919a0f22268e3cffe12564c4bdf0a04ae9c478e3f90a526e2ef58cb610bf
7
- data.tar.gz: a90835551dddd23ed614d8c03cb29919d122ebcffe6f185ce3e7bcf5456d7ba1d9c0fea622c6c5dd0b48c10eee7dd1d53fd1f550c17f773dfba97cace62123b9
6
+ metadata.gz: 42e14eed5800721080ed9a05072624186ba9d4129282283a2edc7f4787c6cb588fe4f660ba3ac88d42309519c161f7c7a56132c9e57ac9611b985ba3baf4af6e
7
+ data.tar.gz: a99d8b780bb65435eea1ba7fdb9ab5fea8b62bd1aa06c27343fd7896de21871eb3dddc4aded47b95b15343579f5b80a23bc12b4ce235b04f9ee6565cb93d315d
data/Gemfile CHANGED
@@ -12,7 +12,7 @@ gem "dry-monads"
12
12
  gem "dry-validation"
13
13
 
14
14
  group :development, :test do
15
- gem "byebug"
15
+ gem "pry-byebug"
16
16
  gem "rake", "~> 13.0"
17
17
  gem "rspec", "~> 3.0"
18
18
  gem "rubocop", "~> 1.7"
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- use_cases (2.0.6)
4
+ use_cases (2.0.7)
5
5
  activesupport (>= 5.1)
6
6
  dry-matcher (>= 0.8.1)
7
7
  dry-monads (>= 1.0.0)
@@ -18,6 +18,7 @@ GEM
18
18
  zeitwerk (~> 2.3)
19
19
  ast (2.4.2)
20
20
  byebug (11.1.3)
21
+ coderay (1.1.3)
21
22
  concurrent-ruby (1.1.9)
22
23
  diff-lcs (1.4.4)
23
24
  docile (1.4.0)
@@ -63,10 +64,17 @@ GEM
63
64
  dry-schema (~> 1.8, >= 1.8.0)
64
65
  i18n (1.8.10)
65
66
  concurrent-ruby (~> 1.0)
67
+ method_source (1.0.0)
66
68
  minitest (5.14.4)
67
69
  parallel (1.21.0)
68
70
  parser (3.0.2.0)
69
71
  ast (~> 2.4.1)
72
+ pry (0.14.1)
73
+ coderay (~> 1.1)
74
+ method_source (~> 1.0)
75
+ pry-byebug (3.10.1)
76
+ byebug (~> 11.0)
77
+ pry (>= 0.13, < 0.15)
70
78
  rainbow (3.0.0)
71
79
  rake (13.0.6)
72
80
  regexp_parser (2.1.1)
@@ -119,6 +127,7 @@ DEPENDENCIES
119
127
  dry-matcher
120
128
  dry-monads
121
129
  dry-validation
130
+ pry-byebug
122
131
  rake (~> 13.0)
123
132
  rspec (~> 3.0)
124
133
  rubocop (~> 1.7)
@@ -126,4 +135,4 @@ DEPENDENCIES
126
135
  use_cases!
127
136
 
128
137
  BUNDLED WITH
129
- 2.2.32
138
+ 2.4.2
@@ -26,13 +26,13 @@ module UseCases
26
26
  end
27
27
 
28
28
  module CallPatch
29
- def call(*args)
29
+ def call(...)
30
30
  unless self.class._lock_with
31
31
  raise MissingLockConfiguration, "Locked use cases require setting `lock_with` to define the cache key and wait configuration.\n" \
32
32
  " Example: `lock_with { |params, curent_user| \"my-key-\#{params[:id]}-\#{curent_user.id}\" }`"
33
33
  end
34
34
 
35
- key = lock_with(*args)
35
+ key = lock_with(...)
36
36
 
37
37
  raise MissingLockerError, "Locked use cases require setting `locker` dependency to define the cache store.\n" unless respond_to?(:locker)
38
38
 
@@ -45,8 +45,8 @@ module UseCases
45
45
  self.class._lock_options
46
46
  end
47
47
 
48
- def lock_with(*args)
49
- self.class._lock_with.is_a?(Proc) ? self.class._lock_with.call(*args) : self.class._lock_with
48
+ def lock_with(...)
49
+ self.class._lock_with.is_a?(Proc) ? self.class._lock_with.call(...) : self.class._lock_with
50
50
  end
51
51
  end
52
52
  end
@@ -13,7 +13,7 @@ module UseCases
13
13
  end
14
14
 
15
15
  module DoCallPatch
16
- def do_call(*args)
16
+ def do_call(*)
17
17
  unless respond_to?(:transaction_handler)
18
18
  raise TransactionHandlerUndefined, "when using *transactional*, make sure to include a transaction handler in your dependencies."
19
19
  end
@@ -17,7 +17,7 @@ module UseCases
17
17
  end
18
18
 
19
19
  module CallPatch
20
- def call(*args)
20
+ def call(*)
21
21
  unless stack.include_step?(:validate)
22
22
  raise NoValidationError,
23
23
  "Make sure to define params validations by using *params*" \
@@ -67,7 +67,7 @@ module UseCases
67
67
 
68
68
  private
69
69
 
70
- def validate(params, *_args)
70
+ def validate(params, *)
71
71
  return Failure([:validation_error, "*params* must be a hash."]) unless params.respond_to?(:merge)
72
72
 
73
73
  validation = contract.call(params)
@@ -10,18 +10,17 @@ module UseCases
10
10
 
11
11
  attr_reader :name, :object, :failure, :options
12
12
 
13
- def initialize(name, *args, **options)
13
+ def initialize(name, *args)
14
14
  @name = name
15
- @object = args.first
16
- @options = options
15
+ @object, @options = args
17
16
  end
18
17
 
19
18
  def previous_step_result
20
19
  object.stack.prev_step_result
21
20
  end
22
21
 
23
- def call(*args)
24
- UseCases::Result.new(self, do_call(*args))
22
+ def call(...)
23
+ UseCases::Result.new(self, do_call(...))
25
24
  end
26
25
 
27
26
  def do_call(*initial_args)
@@ -8,7 +8,7 @@ module UseCases
8
8
  class InvalidReturnValue < StandardError; end
9
9
 
10
10
  def do_call(*args)
11
- result = super(*args)
11
+ super(*args)
12
12
  Success(args.first)
13
13
  end
14
14
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module UseCases
4
- VERSION = "2.0.7"
4
+ VERSION = "3.0.0"
5
5
  end
data/use_cases.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.description = "A DSL to encapsulate your domain logic."
13
13
  spec.homepage = "https://github.com/listminut/use_cases"
14
14
  spec.license = "MIT"
15
- spec.required_ruby_version = ">= 2.6.0"
15
+ spec.required_ruby_version = ">= 3.0.0"
16
16
 
17
17
  spec.metadata["homepage_uri"] = spec.homepage
18
18
  spec.metadata["source_code_uri"] = "https://github.com/listminut/use_cases"
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: 2.0.7
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ring Twice
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-28 00:00:00.000000000 Z
11
+ date: 2023-01-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -176,7 +176,7 @@ metadata:
176
176
  homepage_uri: https://github.com/listminut/use_cases
177
177
  source_code_uri: https://github.com/listminut/use_cases
178
178
  changelog_uri: https://github.com/listminut/use_cases/CHANGELOG.md
179
- post_install_message:
179
+ post_install_message:
180
180
  rdoc_options: []
181
181
  require_paths:
182
182
  - lib
@@ -184,15 +184,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
184
184
  requirements:
185
185
  - - ">="
186
186
  - !ruby/object:Gem::Version
187
- version: 2.6.0
187
+ version: 3.0.0
188
188
  required_rubygems_version: !ruby/object:Gem::Requirement
189
189
  requirements:
190
190
  - - ">="
191
191
  - !ruby/object:Gem::Version
192
192
  version: '0'
193
193
  requirements: []
194
- rubygems_version: 3.1.6
195
- signing_key:
194
+ rubygems_version: 3.2.33
195
+ signing_key:
196
196
  specification_version: 4
197
197
  summary: Use Cases
198
198
  test_files: []