| Class | Authorization::DevelopmentSupport::AnalyzerEngine::Privilege |
| In: |
lib/declarative_authorization/development_support/development_support.rb
|
| Parent: | Object |
# 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
# File lib/declarative_authorization/development_support/development_support.rb, line 162
162: def initialize (privilege, engine)
163: @privilege = privilege
164: @engine = engine
165: 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
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
# 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
# File lib/declarative_authorization/development_support/development_support.rb, line 184
184: def rules
185: @rules ||= find_rules_for_privilege
186: end
# 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