Sha256: 36962b6d019fe9ffc3652cf0cf00e436747a15d5187a51076191e01ea4cb4e89
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
module Pelusa class Runner # Public: Initializes an Analyzer. # # lints - The lints to check the code for. # reporter - The Reporter to use. Will be used to report back the results in # methods such as #run. def initialize(lints, reporter) @lints = lints @reporter = reporter end # Public: Runs the analyzer on a set of files. # # Returns an Array of Reports of those file runs. def run(files) reporters = Array(files).map do |file| run_file(file) end @reporter.print_banner exit_code = 0 reporters.each do |reporter| reporter.report exit_code = 1 unless reporter.successful? end exit_code end # Public: Runs the analyzer on a single file. # # Returns a Report of the single run. def run_file(file) ast = parser.parse_file(file) analyzer = Analyzer.new(@lints, @reporter, file) analyzer.analyze(ast) end ####### private ####### # Internal: Returns the Melbourne 1.9 parser. # # Returns a Rubinius::Melbourne parser. def parser Rubinius::Melbourne19 end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pelusa-0.1.1 | lib/pelusa/runner.rb |
pelusa-0.1.0 | lib/pelusa/runner.rb |
pelusa-0.0.2 | lib/pelusa/runner.rb |