use_cases 2.0.7 → 3.0.0

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: 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: []