class Fasterer::Statistics

Public Class Methods

new(traverser) click to toggle source
# File lib/fasterer/file_traverser.rb, line 138
def initialize(traverser)
  @files_inspected_count  = traverser.scannable_files.count
  @offenses_found_count   = traverser.offenses_total_count
  @unparsable_files_count = traverser.parse_error_paths.count
end

Public Instance Methods

inspected_files_output() click to toggle source
# File lib/fasterer/file_traverser.rb, line 152
def inspected_files_output
  Painter.paint("#{@files_inspected_count} #{pluralize(@files_inspected_count, 'file')} inspected", :green)
end
offenses_found_output() click to toggle source
# File lib/fasterer/file_traverser.rb, line 156
def offenses_found_output
  color = @offenses_found_count.zero? ? :green : :red

  Painter.paint("#{@offenses_found_count} #{pluralize(@offenses_found_count, 'offense')} detected", color)
end
pluralize(n, singular, plural = nil) click to toggle source
# File lib/fasterer/file_traverser.rb, line 168
def pluralize(n, singular, plural = nil)
  if n == 1
    "#{singular}"
  elsif plural
    "#{plural}"
  else
    "#{singular}s"
  end
end
to_s() click to toggle source
# File lib/fasterer/file_traverser.rb, line 144
def to_s
  [
    inspected_files_output,
    offenses_found_output,
    unparsable_files_output
  ].compact.join(', ')
end
unparsable_files_output() click to toggle source
# File lib/fasterer/file_traverser.rb, line 162
def unparsable_files_output
  return if @unparsable_files_count.zero?

  Painter.paint("#{@unparsable_files_count} unparsable #{pluralize(@unparsable_files_count, 'file')} found", :red)
end