class Compatriot::ImageDiffer

Public Class Methods

new(params = {}) click to toggle source
# File lib/compatriot/image_differ/image_differ.rb, line 6
def initialize(params = {})
  @paths    = params[:paths]
  @browsers = params[:browsers]
  @strategy = params[:strategy] || Compatriot::ColorDiffer
  @results_directory = params[:results_directory]
  @diffs    = {}

  create_diffs_path
end

Public Instance Methods

compute!() click to toggle source
# File lib/compatriot/image_differ/image_differ.rb, line 20
def compute!
  @paths.map do |path|
    images_to_diff = @browsers.map { |b| b.absolute_screenshot_for(path) }
    @diffs[path] = diff(images_to_diff)
  end
end
diff(results) click to toggle source
# File lib/compatriot/image_differ/image_differ.rb, line 27
def diff(results)
  @strategy.diff(results.first, results.last)
end
diff_for(path) click to toggle source
# File lib/compatriot/image_differ/image_differ.rb, line 16
def diff_for(path)
  @diffs[path]
end
diffs_path() click to toggle source
# File lib/compatriot/image_differ/image_differ.rb, line 31
def diffs_path
  File.join(@results_directory, "diffs")
end

Private Instance Methods

create_diffs_path() click to toggle source
# File lib/compatriot/image_differ/image_differ.rb, line 37
def create_diffs_path
  FileUtils.mkdir_p(diffs_path)
end