class AxR::Runner
Constants
- DOT_RB
Attributes
exit_on_warnings[R]
exit_on_warnings?[R]
formatter[R]
target[R]
Public Class Methods
new(target = nil, formatter: AxR::Formatters::Default.new, exit_on_warnings: false)
click to toggle source
# File lib/axr/runner.rb, line 12 def initialize(target = nil, formatter: AxR::Formatters::Default.new, exit_on_warnings: false) @target = target @formatter = formatter @exit_on_warnings = exit_on_warnings end
Public Instance Methods
files_to_scan()
click to toggle source
# File lib/axr/runner.rb, line 35 def files_to_scan @files_to_scan ||= scan_single_file? ? [target] : Dir.glob("#{target_dir}**/*#{DOT_RB}") end
invoke()
click to toggle source
# File lib/axr/runner.rb, line 20 def invoke files_with_warnings = files_to_scan.each_with_object({}) do |file_path, issues| scan_result = AxR::Scanner.new(source: File.open(file_path)).scan issues[file_path] = scan_result.warnings if scan_result.warnings.any? formatter.single_file(scan_result, file_path) end formatter.summary(files_to_scan, files_with_warnings) exit 1 if exit_on_warnings? && files_with_warnings.any? files_with_warnings end
Private Instance Methods
scan_single_file?()
click to toggle source
# File lib/axr/runner.rb, line 41 def scan_single_file? return false unless target return false unless target.end_with?(DOT_RB) target end
target_dir()
click to toggle source
# File lib/axr/runner.rb, line 48 def target_dir return unless target "#{target}/" end