Class Authorization::DevelopmentSupport::Analyzer
In: lib/declarative_authorization/development_support/analyzer.rb
Parent: AbstractAnalyzer

Ideas for improvement

  • moving rules up in the role hierarchy
  • merging roles
  • role hierarchy

Merge-able Rules: respect if_permitted_to hash

Methods

analyze   reports  

Classes and Modules

Class Authorization::DevelopmentSupport::Analyzer::GeneralAuthorizationProcessor
Class Authorization::DevelopmentSupport::Analyzer::GeneralRulesAnalyzer
Class Authorization::DevelopmentSupport::Analyzer::InheritingPrivilegesAnalyzer
Class Authorization::DevelopmentSupport::Analyzer::MergeableRulesProcessor
Class Authorization::DevelopmentSupport::Analyzer::ProposedPrivilegeHierarchyAnalyzer
Class Authorization::DevelopmentSupport::Analyzer::Report
Class Authorization::DevelopmentSupport::Analyzer::RoleExplosionAnalyzer

Public Instance methods

[Source]

    # File lib/declarative_authorization/development_support/analyzer.rb, line 24
24:       def analyze (rules)
25:         sexp_array = RubyParser.new.parse(rules)
26:         #sexp_array = ParseTree.translate(rules)
27:         @reports = []
28:         [MergeableRulesProcessor].each do |parser|
29:           parser.new(self).analyze(sexp_array)
30:         end
31:         [
32:           RoleExplosionAnalyzer, InheritingPrivilegesAnalyzer,
33:           ProposedPrivilegeHierarchyAnalyzer
34:         ].each do |parser|
35:           parser.new(self).analyze
36:         end
37:       end

[Source]

    # File lib/declarative_authorization/development_support/analyzer.rb, line 39
39:       def reports
40:         @reports or raise "No rules analyzed!"
41:       end

[Validate]