class Authist::Models::Role

Public Instance Methods

allows_access?(access_type) click to toggle source
# File lib/authist/models/role.rb, line 7
def allows_access? access_type
        allows_access_directly? access_type or allows_access_transitively? access_type
end

Private Instance Methods

allows_access_directly?(access_type) click to toggle source
# File lib/authist/models/role.rb, line 12
def allows_access_directly? access_type
        begin
                send access_type
        rescue NoMethodError => e
                raise "No such access type: #{access_type}"
        end
end
allows_access_transitively?(access_type) click to toggle source
# File lib/authist/models/role.rb, line 20
def allows_access_transitively? access_type
        included_roles.any? { |role| role.allows_access? access_type }
end