class Mumukit::Auth::Role

Public Class Methods

new(symbol) click to toggle source
# File lib/mumukit/auth/role.rb, line 3
def initialize(symbol)
  @symbol=symbol
end

Private Class Methods

parent(parent) click to toggle source
# File lib/mumukit/auth/role.rb, line 22
def self.parent(parent)
  define_method(:parent) { self.class.parse(parent) }
end
parse(role) click to toggle source
# File lib/mumukit/auth/role.rb, line 26
def self.parse(role)
  @roles ||= {}
  @roles[role] ||= "Mumukit::Auth::Role::#{role.to_s.camelize}".constantize.new(role.to_sym)
end

Public Instance Methods

allows?(resource_slug, permissions) click to toggle source
# File lib/mumukit/auth/role.rb, line 7
def allows?(resource_slug, permissions)
  permissions.role_allows?(to_sym, resource_slug) ||
      parent_allows?(resource_slug, permissions)
end
parent_allows?(resource_slug, permissions) click to toggle source
# File lib/mumukit/auth/role.rb, line 12
def parent_allows?(resource_slug, permissions)
  parent.allows?(resource_slug, permissions)
end
to_sym() click to toggle source
# File lib/mumukit/auth/role.rb, line 16
def to_sym
  @symbol
end