Class: Caboose::AccessControl::AccessSentry
- Inherits:
-
Object
- Object
- Caboose::AccessControl::AccessSentry
- Defined in:
- lib/acl_system2/caboose/access_control.rb
Instance Method Summary collapse
- #allowed?(action) ⇒ Boolean
-
#initialize(subject, actions = {}) ⇒ AccessSentry
constructor
A new instance of AccessSentry.
Constructor Details
#initialize(subject, actions = {}) ⇒ AccessSentry
Returns a new instance of AccessSentry.
85 86 87 88 89 90 91 |
# File 'lib/acl_system2/caboose/access_control.rb', line 85 def initialize(subject, actions={}) @actions = actions.inject({}) do |auth, current| [current.first].flatten.each { |action| auth[action] = current.last } auth end @subject = subject end |
Instance Method Details
#allowed?(action) ⇒ Boolean
93 94 95 96 97 98 99 100 101 |
# File 'lib/acl_system2/caboose/access_control.rb', line 93 def allowed?(action) if @actions.has_key? action.to_sym return @subject.access_handler.process(@actions[action.to_sym].dup, @subject.access_context) elsif @actions.has_key? :DEFAULT return @subject.access_handler.process(@actions[:DEFAULT].dup, @subject.access_context) else return true end end |