use_case_pattern 1.0.1 → 1.0.2
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/use_case_pattern/base.rb +23 -5
- data/lib/use_case_pattern/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f74c46a1d5c18649404532a86ea70c7ba63dde0d
|
4
|
+
data.tar.gz: e1046c5314c1dab0b4c04e08a585e5c2da881ad2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
32
|
-
|
31
|
+
if invalid?
|
32
|
+
raise(ValidationError.new(self))
|
33
33
|
end
|
34
34
|
|
35
|
-
|
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
|
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.
|
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-
|
11
|
+
date: 2016-11-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|