use_case_pattern 1.0.1 → 1.0.2

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
  SHA1:
3
- metadata.gz: 0197a45aa4b6b6aa27b43d0887d884950636bcb6
4
- data.tar.gz: 5441894af403f3c87f1c63127d647528ca84e1c7
3
+ metadata.gz: f74c46a1d5c18649404532a86ea70c7ba63dde0d
4
+ data.tar.gz: e1046c5314c1dab0b4c04e08a585e5c2da881ad2
5
5
  SHA512:
6
- metadata.gz: 7646d2e26a134e69f196366eaa34440bc10bbfc3c0ddf23045156463482fcd01c34ec635671a3fd448e02960f5128524ff566105e966815dab5d988640ed6f0b
7
- data.tar.gz: 074c32d9931fb4df34311a999a50acb845aca8b89f964ae901155de40c038d74b4af1b7faea99f857621351a9eabf0a4016dada3ae3f3ccd961580fb4c5bf88a
6
+ metadata.gz: e42a61577dea606c5f1fae60e3d27468b186b82a56553dfed439c6f0bafafc51ee7413299bb8a4e0ac83cac291cef64e8cb67b00bf3417a2a63804155d4c3593
7
+ data.tar.gz: 7193bd695b9f59cff1cf3584152e8cf2a741aa81b41e6356e792892f3dfacce07102e6e466bd71cefc52bd4473cf50d55fa63d76e9ce3eb85b14fd0f47fb1ecb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ # AddressFinder 1.0.2 (November 22, 2016) #
2
+
3
+ * Raise a ValidationError when #perform! fails rather that call the Rails 5
4
+ specific #raise_validation_error method
5
+
1
6
  # AddressFinder 1.0.1 (October 12, 2016) #
2
7
 
3
8
  * Declare support for activemodel/activesupport version 4.0 or better
@@ -28,13 +28,11 @@ module UseCasePattern
28
28
  end
29
29
 
30
30
  def perform!
31
- if valid?
32
- perform
31
+ if invalid?
32
+ raise(ValidationError.new(self))
33
33
  end
34
34
 
35
- if failure?
36
- raise_validation_error
37
- end
35
+ perform
38
36
  end
39
37
 
40
38
  # Did the use case performed its task without errors?
@@ -47,4 +45,24 @@ module UseCasePattern
47
45
  errors.any?
48
46
  end
49
47
  end
48
+
49
+ # Use Case Pattern ValidationError
50
+ #
51
+ # Raised by <tt>perform!</tt> when validations result in errors.
52
+ #
53
+ # Check the use case +errors+ object for attribute error messages.
54
+ #
55
+ # ActiveModel 5.0 has an ActiveModel::ValidationError class, prior versions including 4.2 do not.
56
+ #
57
+ # This class may be deprecated by ActiveModel::ValidationError in the future.
58
+ #
59
+ class ValidationError < StandardError
60
+ attr_reader :model
61
+
62
+ def initialize(model)
63
+ @model = model
64
+ errors = @model.errors.full_messages.join(", ")
65
+ super("Validation failed: " + errors)
66
+ end
67
+ end
50
68
  end
@@ -1,3 +1,3 @@
1
1
  module UseCasePattern
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  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.1
4
+ version: 1.0.2
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-10-12 00:00:00.000000000 Z
11
+ date: 2016-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel