class Similatron::DiffComparisonEngine

Public Instance Methods

can_handle_mime?(mime_type) click to toggle source
# File lib/similatron/diff_comparison_engine.rb, line 4
def can_handle_mime?(mime_type)
  mime_type !~ /charset=binary/
end

Private Instance Methods

command(expected, actual, _diff_path) click to toggle source
# File lib/similatron/diff_comparison_engine.rb, line 10
def command(expected, actual, _diff_path)
  "#{executable_path} #{expected} #{actual}"
end
default_executable_path() click to toggle source
# File lib/similatron/diff_comparison_engine.rb, line 14
def default_executable_path
  "diff"
end
diff(exec_result) click to toggle source
# File lib/similatron/diff_comparison_engine.rb, line 22
def diff(exec_result)
  if exec_result.status != 0
    File.write(diff_path, exec_result.out)
    diff_path
  else # rubocop:disable Style/EmptyElse
    nil
  end
end
diff_extension() click to toggle source
# File lib/similatron/diff_comparison_engine.rb, line 18
def diff_extension
  "diff"
end
score(exec_result) click to toggle source
# File lib/similatron/diff_comparison_engine.rb, line 31
def score(exec_result)
  return 0 if exec_result.status.zero?

  lines = exec_result.out.split("\n")
  lines.grep(/^>|</).size / 2.0
end