class Motion::Authorization

Attributes

current_user[RW]

Public Class Methods

can?(action, object) click to toggle source
# File lib/motion/authorization.rb, line 19
def can?(action, object)
  policy_class_name = "#{object.class}Policy"

  unless Object.const_defined?(policy_class_name)
    puts "Undefined permissions policy class #{policy_class_name}"
    return false
  end

  policy = policy_class_name.constantize.new(current_user, object)

  unless policy.respond_to?("#{action}?")
    puts "No #{action}? method found in #{policy_class_name}"
    return false
  end

  policy.send "#{action}?"
end
current_user_method(&block) click to toggle source
# File lib/motion/authorization.rb, line 7
def current_user_method(&block)
  @current_user_block = block
end