class Repokeeper::SimpleTextFormatter

Public Class Methods

new(out_stream = $stdout) click to toggle source
# File lib/repokeeper/simple_text_formatter.rb, line 3
def initialize(out_stream = $stdout)
  @out_stream = out_stream
end

Public Instance Methods

branches_analyzer_results(analyzer_name, offenses) click to toggle source
# File lib/repokeeper/simple_text_formatter.rb, line 16
def branches_analyzer_results(analyzer_name, offenses)
  @branches[analyzer_name].concat(Array(offenses))
end
commits_analyzer_results(analyzer_name, offenses) click to toggle source
# File lib/repokeeper/simple_text_formatter.rb, line 12
def commits_analyzer_results(analyzer_name, offenses)
  @commits[analyzer_name].concat(Array(offenses))
end
finished() click to toggle source
# File lib/repokeeper/simple_text_formatter.rb, line 20
def finished
  write_results(@commits, :commit_offense_message)
  write_results(@branches, :branch_offense_message)
end
started() click to toggle source
# File lib/repokeeper/simple_text_formatter.rb, line 7
def started
  @commits = Hash.new { |h, k| h[k] = [] }
  @branches = Hash.new { |h, k| h[k] = [] }
end

Private Instance Methods

branch_offense_message(offense) click to toggle source
# File lib/repokeeper/simple_text_formatter.rb, line 57
def branch_offense_message(offense)
  error_message = offense.message
  branches = offense.branches.join(', ')

  "#{error_message} - #{branches}"
end
commit_offense_message(offense) click to toggle source
# File lib/repokeeper/simple_text_formatter.rb, line 48
def commit_offense_message(offense)
  error_message = offense.message
  commit = offense.commit
  id = commit.oid
  author = commit.author[:name]

  "#{id} by #{author}. #{error_message}"
end
write_analyzer_results(analyzer_name, offenses, write_offense_method) click to toggle source
# File lib/repokeeper/simple_text_formatter.rb, line 34
def write_analyzer_results(analyzer_name, offenses, write_offense_method)
  @out_stream.puts "=== #{analyzer_name} ==="

  if offenses.empty?
    @out_stream.puts 'No issues were found'
  else
    offenses.each do |offense|
      @out_stream.puts send(write_offense_method, offense)
    end
  end

  @out_stream.puts
end
write_results(collection, write_offense_method) click to toggle source
# File lib/repokeeper/simple_text_formatter.rb, line 27
def write_results(collection, write_offense_method)
  collection.keys.sort.each do |analyzer_name|
    offenses = collection[analyzer_name].compact
    write_analyzer_results(analyzer_name, offenses, write_offense_method)
  end
end