Class Authorization::DevelopmentSupport::AnalyzerEngine::Privilege
In: lib/declarative_authorization/development_support/development_support.rb
Parent: Object

Methods

Public Class methods

[Source]

     # File lib/declarative_authorization/development_support/development_support.rb, line 197
197:         def self.for_sym (privilege_sym, engine)
198:           @@privilege_objects[[privilege_sym, engine]] ||= new(privilege_sym, engine)
199:         end

[Source]

     # File lib/declarative_authorization/development_support/development_support.rb, line 162
162:         def initialize (privilege, engine)
163:           @privilege = privilege
164:           @engine = engine
165:         end

Public Instance methods

Ancestor privileges are higher in the hierarchy. Doesn‘t take context into account.

[Source]

     # File lib/declarative_authorization/development_support/development_support.rb, line 169
169:         def ancestors (priv_symbol = nil)
170:           priv_symbol ||= @privilege
171:           # context-specific?
172:           (@engine.rev_priv_hierarchy[[priv_symbol, nil]] || []).
173:               collect {|higher_priv| ancestors(higher_priv) }.flatten +
174:             (priv_symbol == @privilege ? [] : [Privilege.for_sym(priv_symbol, @engine)])
175:         end

[Source]

     # File lib/declarative_authorization/development_support/development_support.rb, line 176
176:         def descendants (priv_symbol = nil)
177:           priv_symbol ||= @privilege
178:           # context-specific?
179:           (@engine.privilege_hierarchy[priv_symbol] || []).
180:               collect {|lower_priv, context| descendants(lower_priv) }.flatten +
181:             (priv_symbol == @privilege ? [] : [Privilege.for_sym(priv_symbol, @engine)])
182:         end

[Source]

     # File lib/declarative_authorization/development_support/development_support.rb, line 184
184:         def rules
185:           @rules ||= find_rules_for_privilege
186:         end

[Source]

     # File lib/declarative_authorization/development_support/development_support.rb, line 190
190:         def source_file
191:           rules.empty? ? nil : rules.first.source_file
192:         end

[Source]

     # File lib/declarative_authorization/development_support/development_support.rb, line 187
187:         def source_line
188:           rules.empty? ? nil : rules.first.source_line
189:         end

[Source]

     # File lib/declarative_authorization/development_support/development_support.rb, line 194
194:         def to_sym
195:           @privilege
196:         end

[Validate]