Class: Authorization::Analyzer

Inherits:
Object
  • Object
show all
Defined in:
lib/declarative_authorization/authorization_rules_analyzer.rb

Defined Under Namespace

Classes: GeneralAuthorizationProcessor, MergeableRulesProcessor, Report

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(engine) ⇒ Analyzer

Returns a new instance of Analyzer.



15
16
17
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 15

def initialize (engine)
  @engine = engine
end

Instance Attribute Details

#engineObject (readonly)

Returns the value of attribute engine.



13
14
15
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 13

def engine
  @engine
end

Instance Method Details

#analyze(rules) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 19

def analyze (rules)
  sexp_array = RubyParser.new.parse(rules)
  #sexp_array = ParseTree.translate(rules)
  @reports = []
  [MergeableRulesProcessor].each do |parser|
    parser.new(self).analyze(sexp_array)
  end
  #p @reports
end

#reportsObject



29
30
31
# File 'lib/declarative_authorization/authorization_rules_analyzer.rb', line 29

def reports
  @reports or raise "No rules analyzed!"
end