use_case_pattern 1.0.2 → 1.0.3

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
- SHA1:
3
- metadata.gz: f74c46a1d5c18649404532a86ea70c7ba63dde0d
4
- data.tar.gz: e1046c5314c1dab0b4c04e08a585e5c2da881ad2
2
+ SHA256:
3
+ metadata.gz: ef2111b93b4eecb2f180089ccbf385065b8c06bd18b70563fae574541e86d8e8
4
+ data.tar.gz: 1a314d56a065a398b4ad5043f58a05f3383ac071ff6c17b2e93e4bc6c0575f85
5
5
  SHA512:
6
- metadata.gz: e42a61577dea606c5f1fae60e3d27468b186b82a56553dfed439c6f0bafafc51ee7413299bb8a4e0ac83cac291cef64e8cb67b00bf3417a2a63804155d4c3593
7
- data.tar.gz: 7193bd695b9f59cff1cf3584152e8cf2a741aa81b41e6356e792892f3dfacce07102e6e466bd71cefc52bd4473cf50d55fa63d76e9ce3eb85b14fd0f47fb1ecb
6
+ metadata.gz: 5b9e7b6a74a22f0e123253e82a3275486d98b8660c41b552d5b9e78efde8567f4b468d056741d6a1c1049af3729cbb73728d10d3004a105e83fe6537eb41cf12
7
+ data.tar.gz: ab9156f09ba1c4adb83be4939cfb68099af1c46bfd26412ca2e87144a5809a1a61f395fd05fab8f1819bc1e765c18ac953433a4e0297d6ae132f266654a5eb8f
@@ -1,6 +1,9 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.2.5
5
- - 2.3.1
6
- before_install: gem install bundler -v 1.13.1
4
+ - 2.3
5
+ - 2.4
6
+ - 2.5
7
+ - 2.6
8
+ - 2.7
9
+ before_install: gem install bundler -v 2.1.4
@@ -1,3 +1,9 @@
1
+ # AddressFinder 1.0.3 (May 27, 2020)
2
+
3
+ * Add support for Ruby 2.7
4
+ * Drop support for Ruby 2.2
5
+ * Ruby 2.7 deprecated the use of hashes in the last argument of a method call. We added a check to handle that deprecation. Read more here: https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/
6
+
1
7
  # AddressFinder 1.0.2 (November 22, 2016) #
2
8
 
3
9
  * Raise a ValidationError when #perform! fails rather that call the Rails 5
@@ -9,7 +9,7 @@ module UseCasePattern
9
9
  module ClassMethods
10
10
  # The perform method of a UseCase should always return itself
11
11
  def perform(*args)
12
- new(*args).tap do |use_case|
12
+ use_case(*args).tap do |use_case|
13
13
  if use_case.valid?
14
14
  use_case.perform
15
15
  end
@@ -18,7 +18,20 @@ module UseCasePattern
18
18
 
19
19
  # Raise a validation error if perform has created any errors
20
20
  def perform!(*args)
21
- new(*args).tap { |use_case| use_case.perform! }
21
+ use_case(*args).tap { |use_case| use_case.perform! }
22
+ end
23
+
24
+ private
25
+
26
+ # initialises the use_case, making sure that any keyword arguments are
27
+ # dealt with appropriately: https://piechowski.io/post/last-arg-keyword-deprecated-ruby-2-7/
28
+ def use_case(*args)
29
+ if args.last.is_a?(Hash)
30
+ keyword_arguments = args.pop
31
+ new(*args, **keyword_arguments)
32
+ else
33
+ new(*args)
34
+ end
22
35
  end
23
36
  end
24
37
 
@@ -1,3 +1,3 @@
1
1
  module UseCasePattern
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  end
@@ -20,12 +20,12 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.required_ruby_version = '~> 2.2'
23
+ spec.required_ruby_version = '~> 2.3'
24
24
 
25
25
  spec.add_runtime_dependency "activemodel", [">= 4.0.0"]
26
26
  spec.add_runtime_dependency "activesupport", [">= 4.0.0"]
27
27
 
28
- spec.add_development_dependency "bundler", "~> 1.13"
28
+ spec.add_development_dependency "bundler", "~> 2.1.4"
29
29
  spec.add_development_dependency "rake", "~> 10.0"
30
30
  spec.add_development_dependency "rspec", "~> 3.0"
31
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: use_case_pattern
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nigel Ramsay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-21 00:00:00.000000000 Z
11
+ date: 2020-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.13'
47
+ version: 2.1.4
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.13'
54
+ version: 2.1.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -114,15 +114,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '2.2'
117
+ version: '2.3'
118
118
  required_rubygems_version: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  requirements: []
124
- rubyforge_project:
125
- rubygems_version: 2.5.1
124
+ rubygems_version: 3.1.2
126
125
  signing_key:
127
126
  specification_version: 4
128
127
  summary: A module that helps you to implement the Use Case design pattern