human_error 2.0.0beta4 → 2.0.0beta5

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 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