class Syntaxer::RepoChecker

Check status of files in repository

Public Class Methods

new(syntaxer) click to toggle source
Calls superclass method Syntaxer::Checker::new
# File lib/syntaxer/checker.rb, line 61
def initialize syntaxer
  @syntaxer = syntaxer
  count_of_files = 0
  @rule_files = {}
  @deferred_process = []
  syntaxer.reader.rules.each do |rule|
    @rule_files[rule.name] = {}
    @rule_files[rule.name][:rule] = rule
    @rule_files[rule.name][:files] = []
    rule.extensions.each do |ext|
      files.each do |file|
        if File.extname(file).gsub(/\./,'') == ext || \
          (!rule.specific_files.nil? && !@rule_files[rule.name][:files].include?(file) && rule.specific_files.include?(file))
          
          @rule_files[rule.name][:files].push(file)
          count_of_files += 1 if !rule.deferred # skip these files
        end
      end
    end
  end
  
  super syntaxer, count_of_files 
end

Public Instance Methods

process() click to toggle source

Check syntax in repository directory

@see Checker#process

# File lib/syntaxer/checker.rb, line 89
def process
  @rule_files.each do |rule_name, rule|
    if rule[:rule].deferred
      @deferred_process << rule
    else
      rule[:files].each do |file|
        full_path = File.join(@syntaxer.root_path,file)
        check(rule[:rule], full_path)
      end
    end
  end

  @deferred_process.each do |rule|
    rule[:rule].exec_rule.run(@syntaxer.root_path, rule[:files])
  end

  self
end

Private Instance Methods

files() click to toggle source
# File lib/syntaxer/checker.rb, line 109
def files
  @syntaxer.repository.changed_and_added_files
end