# File lib/hashdiff/diff.rb, line 28
  def self.best_diff(obj1, obj2, options = {}, &block)
    options[:comparison] = block if block_given?

    opts = { :similarity => 0.3 }.merge!(options)
    diffs_1 = diff(obj1, obj2, opts)
    count_1 = count_diff diffs_1

    opts = { :similarity => 0.5 }.merge!(options)
    diffs_2 = diff(obj1, obj2, opts)
    count_2 = count_diff diffs_2

    opts = { :similarity => 0.8 }.merge!(options)
    diffs_3 = diff(obj1, obj2, opts)
    count_3 = count_diff diffs_3

    count, diffs = count_1 < count_2 ? [count_1, diffs_1] : [count_2, diffs_2]
    diffs = count < count_3 ? diffs : diffs_3
  end