module AccessPolicy::ClassMethods

Public Instance Methods

policy_guarded_method(action_name, query=" click to toggle source
# File lib/access_policy.rb, line 54
def policy_guarded_method(action_name, query="#{action_name}?" ,&block)
  unsafe_action_name = unsafe_action_name(action_name)

  define_method action_name do |*args|
    _authorize query
    self.send(unsafe_action_name, *args)
  end

  define_method unsafe_action_name, block
end
unsafe_action_name(action_name) click to toggle source
# File lib/access_policy.rb, line 65
def unsafe_action_name(action_name)
  :"#{action_name}_unsafe"
end