# File lib/declarative_authorization/development_support/development_support.rb, line 197 def self.for_sym (privilege_sym, engine) @@privilege_objects[[privilege_sym, engine]] ||= new(privilege_sym, engine) end
# File lib/declarative_authorization/development_support/development_support.rb, line 162 def initialize (privilege, engine) @privilege = privilege @engine = engine end
Ancestor privileges are higher in the hierarchy. Doesn't take context into account.
# File lib/declarative_authorization/development_support/development_support.rb, line 169 def ancestors (priv_symbol = nil) priv_symbol ||= @privilege # context-specific? (@engine.rev_priv_hierarchy[[priv_symbol, nil]] || []). collect {|higher_priv| ancestors(higher_priv) }.flatten + (priv_symbol == @privilege ? [] : [Privilege.for_sym(priv_symbol, @engine)]) end
# File lib/declarative_authorization/development_support/development_support.rb, line 176 def descendants (priv_symbol = nil) priv_symbol ||= @privilege # context-specific? (@engine.privilege_hierarchy[priv_symbol] || []). collect {|lower_priv, context| descendants(lower_priv) }.flatten + (priv_symbol == @privilege ? [] : [Privilege.for_sym(priv_symbol, @engine)]) end
# File lib/declarative_authorization/development_support/development_support.rb, line 184 def rules @rules ||= find_rules_for_privilege end
# File lib/declarative_authorization/development_support/development_support.rb, line 190 def source_file rules.empty? ? nil : rules.first.source_file end
# File lib/declarative_authorization/development_support/development_support.rb, line 187 def source_line rules.empty? ? nil : rules.first.source_line end
# File lib/declarative_authorization/development_support/development_support.rb, line 194 def to_sym @privilege end