class AnalDiffist::TextBasedDiffist

Public Class Methods

new() click to toggle source
# File lib/analdiffist/text_based_diffist.rb, line 4
def initialize
  @targets = AnalDiffist::TargetFinder.new
  @files = []
end

Public Instance Methods

clean_up_flog(flog_result) click to toggle source
# File lib/analdiffist/text_based_diffist.rb, line 39
def clean_up_flog(flog_result)
  flog_result.gsub(/:[0-9]+$/, '')
end
diff(f1, f2) click to toggle source
# File lib/analdiffist/text_based_diffist.rb, line 42
def diff f1, f2
  puts `git diff --color=always -U0 -- '#{f1}' '#{f2}'`
end
do_analytics(ref_name) click to toggle source
# File lib/analdiffist/text_based_diffist.rb, line 13
def do_analytics ref_name
  dest_filename = get_file_name ref_name

  puts
  puts 'collecting reek'
  reek_result = `reek -q #{@targets}`
  puts 'collecting flog'
  flog_result = `flog -g #{@targets}`
  File.open(dest_filename, 'w') do |f|
    puts 'writing analytics to ' + dest_filename
    f.write"--- Analytics for #{ref_name} ---\n\n"

    f.write"\n\n--- FLOG ---\n\n"
    f.write clean_up_flog(flog_result)

    f.write"\n\n--- REEK ---\n\n"
    f.write reek_result
  end

  @files << dest_filename
end
get_file_name(ref_name) click to toggle source
# File lib/analdiffist/text_based_diffist.rb, line 35
def get_file_name ref_name
  File.join(Dir.tmpdir, "#{ref_name.gsub('/', '_')}-analytics.txt")
end
report_results() click to toggle source
# File lib/analdiffist/text_based_diffist.rb, line 8
def report_results
  puts 'results:'
  diff @files[0], @files[1]
end