petergate 1.2.1 → 1.2.5

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: 9b892f7fb8bd9dede52439d388ad0960785eda65
4
- data.tar.gz: 64e30d9978358748a8755419b5b06521fe856c05
3
+ metadata.gz: 8195676a80d896b9c03096811dfe1a2f0ba103d9
4
+ data.tar.gz: 22dde73f57a394c67bc6b44f83c930b44a56203c
5
5
  SHA512:
6
- metadata.gz: 00262c0fdb48c9b50dd12814be378b6342d71001e71d6ed0022d33640e10d53e1d675db7ef59c45deeeec0ada3393b53072d963a23d460197b0e28c4f90093ba
7
- data.tar.gz: 76b3390ab9851e4791a8de4bedee17b3323e85b13813ac5bfc11838dd23c44c01472ef44fa152f4ff00c4a2d8cf0e5455e1a69891f9eb69d45e4ed4f6ac308cb
6
+ metadata.gz: 5c37088d9935b4baf5428babd3621bfbe185bc34103795a13c1616f3aac6228c8013f11dd938624dcf7d08c7848be52be529e0653a7c38dae911c180a0bf5cb5
7
+ data.tar.gz: 6c44f18ade5b9101605bd8f2ab53a2505718aa23a10f2d0a27f7fc7aef8136b75992c6bddbde771d31efbd50681f405beddca98df6267c9ac298d61c31e96e24
@@ -53,7 +53,7 @@ module Petergate
53
53
  base.before_filter do
54
54
  unless logged_in?(:admin)
55
55
  message= defined?(check_access) ? check_access : true
56
- if message.is_a?(String) || message == false
56
+ if message.is_a?(String) || message.nil?
57
57
  if user_signed_in?
58
58
  forbidden! message
59
59
  else
@@ -71,25 +71,26 @@ module Petergate
71
71
  v == :all ? self.class.all_actions : raise("No action for: #{v}")
72
72
  when "Hash"
73
73
  v[:except].present? ? self.class.except_actions(v[:except]) : raise("Invalid values for except: #{v.values}")
74
- when "Array"
75
- v
76
- else
77
- raise("No action for: #{v}")
78
- end
74
+ when "Array"
75
+ v
76
+ else
77
+ raise("No action for: #{v}")
78
+ end
79
79
 
80
80
  h.merge({k => special_values})
81
81
  end
82
82
  # Allows Array's of keys for he same hash.
83
- rules.inject({}){|h, (k, v)| k.class == Array ? h.merge(Hash[k.map{|kk| [kk, v]}]) : h.merge(k => v) }
83
+ rules = rules.inject({}){|h, (k, v)| k.class == Array ? h.merge(Hash[k.map{|kk| [kk, v]}]) : h.merge(k => v) }
84
84
  end
85
85
 
86
86
  def permissions(rules = {all: [:index, :show], customer: [], wiring: []})
87
+ message = rules.delete(:message)
87
88
  rules = parse_permission_rules(rules)
88
89
  allowances = [rules[:all]]
89
90
  current_user.roles.each do |role|
90
91
  allowances << rules[role]
91
92
  end if logged_in?(:user)
92
- allowances.flatten.compact.include?(params[:action].to_sym)
93
+ allowances.flatten.compact.include?(params[:action].to_sym) || message
93
94
  end
94
95
 
95
96
  def logged_in?(*roles)
@@ -101,7 +102,7 @@ module Petergate
101
102
  format.any(:js, :json, :xml) { render nothing: true, status: :forbidden }
102
103
  format.html do
103
104
  destination = current_user.present? ? request.referrer || after_sign_in_path_for(current_user) : root_path
104
- redirect_to destination, notice: msg || 'Permission Denied'
105
+ redirect_to destination, notice: (msg || 'Permission Denied')
105
106
  end
106
107
  end
107
108
  end
@@ -1,3 +1,3 @@
1
1
  module Petergate
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: petergate
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Sloan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-22 00:00:00.000000000 Z
11
+ date: 2016-02-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler