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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9aac9f10a553ddfd7ae0e709b61a4665ed42b11a
4
- data.tar.gz: e0638dfb2c3826bcf2e12b1a2dc4d80cfbc1f65b
3
+ metadata.gz: 33b97f5fc873078c76b8be169bf591567124bf3b
4
+ data.tar.gz: 1a0f066015ef29e4cbcaa2b1187e7387dfc7ad7a
5
5
  SHA512:
6
- metadata.gz: 10c586d814db279ac12c0e92fa03f1072b71db6a0f298fa016e4f9c526784a748b911c2c9e972543d83e24201d5b0886f5d46b8f4b5b2dd0c976783b19027010
7
- data.tar.gz: 797367b8c9c492e150626b36a138ec9fa478f89d5faafb57188491d110aa0eeedbe66dc9b1b389b1846737ba6e7f5a5059172e27d33bda3a69485a70096830c5
6
+ metadata.gz: aeba38a51e63f37a7bca77b7323e43d646ed1680c79a84eeacde16e0b90a82c2ab17dd1f4063e8d83a6e79ad4670f94ef453cb4761f8ef344be1c1f22ab2b94d
7
+ data.tar.gz: 948255600142d7f28b0660ae40e32257e78b2fb47112f8f962824b031d360e6efa2dc18f8f942aaaefe2ed41ff2e73d39c140c966b085bed0c0a64b096d33fc5
@@ -1,3 +1,3 @@
1
1
  class HumanError
2
- VERSION = '2.0.0beta4'
2
+ VERSION = '2.0.0beta5'
3
3
  end
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 = fetch(error_type).new(**args)
39
+ error = build(error_type, **args)
31
40
 
32
41
  Kernel.raise error
33
42
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: human_error
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0beta4
4
+ version: 2.0.0beta5
5
5
  platform: ruby
6
6
  authors:
7
7
  - jfelchner