class RuleEngine

Attributes

rules[RW]

Public Class Methods

analyzeDocument(code) click to toggle source
# File lib/rule_engine.rb, line 33
def self.analyzeDocument(code)
  result=[]
  tokens = self.getTokens(code)

  @rules.each do |rule|
    begin
      if rule.configurations[0].value
        (result << rule.AnalyzeTokens(tokens)).flatten!
      end
    rescue
      $logger.error("Error in running rule #{rule.name}")
    end
  end

  return result
end
getTokens(code) click to toggle source
# File lib/rule_engine.rb, line 20
def self.getTokens(code)
  begin
    lexer = PuppetLint::Lexer.new
    tokens = lexer.tokenise(code)
  rescue => error
    $logger.error("Error in getting tokens from Puppet-Lint")
    $logger.error(error.backtrace)
    tokens = []
  end

  return tokens
end