module RouteAuthorizer::PermissionDSL

Public Instance Methods

all_roles(&block) click to toggle source
# File lib/route_authorizer/permission_dsl.rb, line 6
def all_roles(&block)
  role(:default, &block)
end
permit(controller, options = {}) click to toggle source
# File lib/route_authorizer/permission_dsl.rb, line 25
def permit(controller, options = {})
  actions = options[:only] || [:all]

  actions.each do |action|
    instance_variable_get(@current_role) << [controller, action]
  end
end
permit_all() click to toggle source
# File lib/route_authorizer/permission_dsl.rb, line 21
def permit_all
  instance_variable_get(@current_role) << [:all]
end
role(name, &block) click to toggle source
# File lib/route_authorizer/permission_dsl.rb, line 10
def role(name, &block)
  define_method name do
    @current_role = "@#{name}"

    instance_variable_set @current_role, []
    instance_eval &block
    instance_variable_get @current_role
  end
end