human_error 2.0.0beta2 → 2.0.0beta3

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: 38bd2094b46916777e66209fd09752aec12782c6
4
- data.tar.gz: 5e8539f5cf3898079f28f3a6014aca66f7d09d79
3
+ metadata.gz: 65f5bfdecabf2182e2a8426a80945ce3ac481475
4
+ data.tar.gz: c4c02e35713cb342dd9547e66873af66ebfcf647
5
5
  SHA512:
6
- metadata.gz: 7395626c161f3012d42c7cf0de4d934bf77cf34447bb192d4b06f004efc80e11dfbd6f910cb7b1efb4a5c53759f4a114e5f535242d32073a3e2714eb83cea386
7
- data.tar.gz: b1dbf433d0e8725ef3ac2192dc2bb6afc8e3bc49078eb43fd5309334959d0ac76b58fa41f1b9426189309304c4ca391686c32d9a62ea207f2654c9c51a74aa50
6
+ metadata.gz: 4ddb6597d4e73eb78553a4f855336aea5cb8a3af441d2d5563de05c292100bacbdbef3047297a3a4792606802bbe90c62e52656f1e480dca5822a6cbc29fb49b
7
+ data.tar.gz: 17471de34359dbe7ebc2e261658cf0037af8924c721ed701667bded4d77ef9e38ab3087a22b5fc1914b1983d475ada4c244a52e36df1970c18c0d1a97e8d4707
@@ -0,0 +1,29 @@
1
+ require 'human_error/errors/resource_not_found_error'
2
+
3
+ module HumanError
4
+ module VerifiableModel
5
+ module ClassMethods
6
+ def verify_model_exists(model_name = nil, options = {})
7
+ exceptions = options[:except] || %i{create index}
8
+ model_name ||= name[/::(\w+)Controller\z/, 1].
9
+ singularize.
10
+ downcase
11
+
12
+ before_action except: exceptions do
13
+ model = public_send(model_name)
14
+
15
+ resource_not_found_error = Errors::ResourceNotFoundError.new(
16
+ resource_name: model_name,
17
+ resource_id: params[:id],
18
+ )
19
+
20
+ fail resource_not_found_error unless model.persisted?
21
+ end
22
+ end
23
+ end
24
+
25
+ def self.included(base)
26
+ base.extend ClassMethods
27
+ end
28
+ end
29
+ end
@@ -1,3 +1,3 @@
1
1
  class HumanError
2
- VERSION = '2.0.0beta2'
2
+ VERSION = '2.0.0beta3'
3
3
  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.0beta2
4
+ version: 2.0.0beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - jfelchner
@@ -78,6 +78,7 @@ files:
78
78
  - lib/human_error/knowledgebase_id_directory.rb
79
79
  - lib/human_error/rescuable_resource.rb
80
80
  - lib/human_error/utilities/string.rb
81
+ - lib/human_error/verifiable_model.rb
81
82
  - lib/human_error/version.rb
82
83
  - spec/lib/human_error/configuration_spec.rb
83
84
  - spec/lib/human_error/error_spec.rb