human_error 2.0.0beta4 → 2.0.0beta5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/human_error/version.rb +1 -1
- data/lib/human_error.rb +10 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 33b97f5fc873078c76b8be169bf591567124bf3b
|
4
|
+
data.tar.gz: 1a0f066015ef29e4cbcaa2b1187e7387dfc7ad7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aeba38a51e63f37a7bca77b7323e43d646ed1680c79a84eeacde16e0b90a82c2ab17dd1f4063e8d83a6e79ad4670f94ef453cb4761f8ef344be1c1f22ab2b94d
|
7
|
+
data.tar.gz: 948255600142d7f28b0660ae40e32257e78b2fb47112f8f962824b031d360e6efa2dc18f8f942aaaefe2ed41ff2e73d39c140c966b085bed0c0a64b096d33fc5
|
data/lib/human_error/version.rb
CHANGED
data/lib/human_error.rb
CHANGED
@@ -15,6 +15,12 @@ class HumanError
|
|
15
15
|
Object.const_get("HumanError::Errors::#{error_type}")
|
16
16
|
end
|
17
17
|
|
18
|
+
def build(error_type, overrides = {})
|
19
|
+
overrides = configuration.to_h.merge(overrides)
|
20
|
+
|
21
|
+
fetch(error_type).new(overrides)
|
22
|
+
end
|
23
|
+
|
18
24
|
def convert(original_error, overrides = {})
|
19
25
|
overrides = configuration.to_h.merge(overrides)
|
20
26
|
|
@@ -23,11 +29,14 @@ class HumanError
|
|
23
29
|
fetch('AssociationError').convert(original_error, overrides)
|
24
30
|
when 'ActiveRecord::RecordNotFound'
|
25
31
|
fetch('ResourceNotFoundError').convert(original_error, overrides)
|
32
|
+
when 'ActiveRecord::RecordInvalid',
|
33
|
+
'ActiveRecord::RecordNotSaved'
|
34
|
+
fetch('ResourcePersistenceError').convert(original_error, overrides)
|
26
35
|
end
|
27
36
|
end
|
28
37
|
|
29
38
|
def raise(error_type, **args)
|
30
|
-
error =
|
39
|
+
error = build(error_type, **args)
|
31
40
|
|
32
41
|
Kernel.raise error
|
33
42
|
end
|