class ImageDiff::Differ::ImageDiff

ImageDiff class

Public Instance Methods

result() click to toggle source
# File lib/image_diff/differ/image_diff.rb, line 10
def result
  index, debug = ImageMagick.absolute_error(args)
  send(%i[pass fail][index] || :error, debug)
end

Private Instance Methods

args() click to toggle source
# File lib/image_diff/differ/image_diff.rb, line 21
def args
  [reference, snapshot.path_and_filename, comparison].join(' ')
end
comparison() click to toggle source
# File lib/image_diff/differ/image_diff.rb, line 17
def comparison
  File.join(snapshot.fullpath, snapshot.filename.gsub('.png', '_diff.png'))
end
error(debug) click to toggle source
# File lib/image_diff/differ/image_diff.rb, line 33
def error(debug)
  if debug[/unable to open image/]
    Results::ReferenceFileNotFound.new(snapshot)
  else
    # TODO: This is a failure so should add Result to Results list
    print %(\033[31m#{debug}\033[0m)
  end
end
fail(debug) click to toggle source
# File lib/image_diff/differ/image_diff.rb, line 29
def fail(debug)
  Results::PixelRegression.new(reference, snapshot, debug, comparison)
end
pass(_debug) click to toggle source
# File lib/image_diff/differ/image_diff.rb, line 25
def pass(_debug)
  File.delete(comparison, snapshot.path_and_filename)
end