class RouteAuthorizer::Permission

Attributes

role[R]

Public Class Methods

new(role) click to toggle source
# File lib/route_authorizer/permission.rb, line 5
def initialize(role)
  @role = role.to_s
end

Public Instance Methods

permit?(controller_path, action_name) click to toggle source
# File lib/route_authorizer/permission.rb, line 9
def permit?(controller_path, action_name)
  permit_action? [
    [:all],
    [controller_path.to_sym, :all],
    [controller_path.to_sym, action_name.to_sym],
  ]
end

Private Instance Methods

default() click to toggle source
# File lib/route_authorizer/permission.rb, line 30
def default
  []
end
permit_action?(role_action) click to toggle source
# File lib/route_authorizer/permission.rb, line 21
def permit_action?(role_action)
  (role_permissions & role_action).any?
end
role_permissions() click to toggle source
# File lib/route_authorizer/permission.rb, line 25
def role_permissions
  others_permissions = respond_to?(role, true) ? send(role) : []
  default + others_permissions
end