class Micro::Authorization::Permissions::Model
Attributes
context[R]
role[R]
Public Class Methods
new(permissions, context)
click to toggle source
# File lib/micro/authorization/permissions/model.rb, line 9 def initialize(permissions, context) @role = permissions.dup.freeze @cache = {} @context = Utils.downcased_strings(context).freeze end
Public Instance Methods
to(features)
click to toggle source
# File lib/micro/authorization/permissions/model.rb, line 15 def to(features) Permissions::Checker.for(@role, features) end
to?(features = nil)
click to toggle source
# File lib/micro/authorization/permissions/model.rb, line 19 def to?(features = nil) has_permission_to = to(features) cache_key = has_permission_to.features.inspect return @cache[cache_key] unless @cache[cache_key].nil? @cache[cache_key] = has_permission_to.context?(@context) end
to_not?(features = nil)
click to toggle source
# File lib/micro/authorization/permissions/model.rb, line 29 def to_not?(features = nil) !to?(features) end