class Sanction::Permission
Attributes
predicates[R]
Public Class Methods
new(permission_graph, *predicates)
click to toggle source
# File lib/sanction/permission.rb, line 6 def initialize(permission_graph, *predicates) @graph = permission_graph @predicates = predicates end
Public Instance Methods
path()
click to toggle source
# File lib/sanction/permission.rb, line 11 def path @path ||= begin path = @graph.root @predicates.each do |predicate| if predicate.is_a?(Class) path = path[predicate.to_s.demodulize.underscore.to_sym] else path = path[predicate.class.to_s.demodulize.underscore.to_sym][predicate.id] end end path end end
permitted?()
click to toggle source
# File lib/sanction/permission.rb, line 29 def permitted? path.permitted? end
permitted_with_scope?(scope)
click to toggle source
# File lib/sanction/permission.rb, line 33 def permitted_with_scope?(scope) permitted? && path.has_scope?(scope) end
persisted?()
click to toggle source
# File lib/sanction/permission.rb, line 25 def persisted? path.persisted? end