coadjutor 0.0.3 → 0.0.4

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: 9420825798759437bc87dbd09da3f78cf36a41e7
4
- data.tar.gz: 35d1bd72c78cf53adcd25203b57a88e7b2290f98
3
+ metadata.gz: 5b9de54b9e94d4e98aeaad9a3d3de026bc7a36b2
4
+ data.tar.gz: 1ccf2c5ff779a9fb53cb34bc985b4ab62624c615
5
5
  SHA512:
6
- metadata.gz: 11febc2346b6bbac45c7e94e5d4c11ea8247350cb81ea040302453bdc851db7d975346e36d76a874287891dc4c56b312d535dc98b3a0b73c01886422b13bb46e
7
- data.tar.gz: 9c674d8261c7a96d49c7bddefe40fa2238e4a1a8807c2e46c894d3f1bb1e58336297aa55419247b0d39eaca2b241779e2dc0ecbb986b1b35a7d53cda7c58e0ad
6
+ metadata.gz: f28f4387d08d432793953c060a88ac305ab41494a24b88fbd271b636788b3d6b04059497881c364496d75370699092ef0928a54e96a40badeb8536af7d7eb8a9
7
+ data.tar.gz: 792dae2b0298f1277467e6f3666d6f665139bb666bc727915c1c8660df1c5d6af5b9802ad7a9ee2992208c8dafd42c8998a9254b9d5273b29a4b7b90ac7c61cc
@@ -1,6 +1,7 @@
1
1
  require 'rails/railtie'
2
2
  require 'coadjutor/authentication_helper'
3
3
  require 'coadjutor/qualified_controller_resources'
4
+ require 'coadjutor/verifiable_model'
4
5
  require 'coadjutor/css_class_helper'
5
6
  require 'coadjutor/page_title_helper'
6
7
  require 'coadjutor/flash_helper'
@@ -17,6 +18,10 @@ class Railtie < Rails::Railtie
17
18
  ActionController::Base.send :include, AuthenticationHelper
18
19
  end
19
20
 
21
+ initializer 'verifiable_model.helper' do |app|
22
+ ActionController::Base.send :include, VerifiableModel
23
+ end
24
+
20
25
  initializer 'css_class.helper' do |app|
21
26
  ActionView::Base.send :include, CssClassHelper
22
27
  end
@@ -0,0 +1,26 @@
1
+ require 'human_error'
2
+
3
+ module VerifiableModel
4
+ module ClassMethods
5
+ def verify_model_exists(model = nil, options = {})
6
+ exceptions = options[:except] || %i{create index}
7
+ model = model || self.
8
+ name[/::(\w+)Controller\z/, 1].
9
+ singularize.
10
+ downcase
11
+
12
+ before_action except: exceptions do
13
+ model_instance = public_send(model)
14
+
15
+ raise HumanError::Errors::ResourceNotFoundError.new(
16
+ resource_name: model,
17
+ resource_id: params[:id],
18
+ ) unless model_instance.persisted?
19
+ end
20
+ end
21
+ end
22
+
23
+ def self.included(base)
24
+ base.extend ClassMethods
25
+ end
26
+ end
@@ -1,3 +1,3 @@
1
1
  module Coadjutor
2
- VERSION = '0.0.3'
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coadjutor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - jfelchner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-05 00:00:00.000000000 Z
11
+ date: 2014-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: human_error
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.7'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.7'
27
41
  description: ''
28
42
  email: accounts+git@thekompanee.com
29
43
  executables: []
@@ -44,6 +58,7 @@ files:
44
58
  - lib/coadjutor/qualified_controller_resources.rb
45
59
  - lib/coadjutor/railtie.rb
46
60
  - lib/coadjutor/selection_helper.rb
61
+ - lib/coadjutor/verifiable_model.rb
47
62
  - lib/coadjutor/version.rb
48
63
  homepage: https://github.com/thekompanee/coadjutor
49
64
  licenses: []
@@ -70,4 +85,3 @@ signing_key:
70
85
  specification_version: 4
71
86
  summary: Rails Helpers
72
87
  test_files: []
73
- has_rdoc: