module SimpleAcl
Constants
- VERSION
Public Class Methods
included(base)
click to toggle source
# File lib/simple_acl.rb, line 5 def self.included(base) base.extend ClassMethods end
Public Instance Methods
acl_action()
click to toggle source
# File lib/simple_acl.rb, line 56 def acl_action Thread.current[:acl_action] ||= (defined?(params) && params.is_a?(Hash)) ? params[:action] : nil end
acl_action=(action)
click to toggle source
@param action used for the assertion
# File lib/simple_acl.rb, line 52 def acl_action=(action) Thread.current[:acl_action] = action end
acl_current_role()
click to toggle source
# File lib/simple_acl.rb, line 47 def acl_current_role Thread.current[:acl_current_role] ||= defined?(current_role) ? current_role : nil end
acl_current_role=(current_role)
click to toggle source
@param current_role used for the assertion
# File lib/simple_acl.rb, line 43 def acl_current_role=(current_role) Thread.current[:acl_current_role] = current_role end
acl_values()
click to toggle source
# File lib/simple_acl.rb, line 38 def acl_values Thread.current[:acl_values] ||= { params: (defined?(params) ? params : nil) } end
acl_values=(values)
click to toggle source
@param values used for custom lambda assertion
# File lib/simple_acl.rb, line 34 def acl_values=(values) Thread.current[:acl_values] = values end
do_acl()
click to toggle source
@return True is success, raise ExceptionUnauthorized
otherwise
# File lib/simple_acl.rb, line 61 def do_acl return Acl.unauthorized unless self.class.acl begin self.class.acl.check_acl(acl_current_role, acl_action, acl_values) self.class.acl.filter_params(acl_current_role, acl_values[:params]) ensure # in case of Thread,current is not cleaned Thread.current[:acl_action] = nil Thread.current[:acl_current_role] = nil Thread.current[:acl_values] = nil end end