module DTK::Common::GritAdapter::FileAccess::DiffMixin

Public Instance Methods

diff(*args) click to toggle source
# File lib/grit_adapter/file_access/diff.rb, line 20
def diff(*args)
  diff_comamnd_args = 
    case args.size
     when 1 then [@branch,args[0]]
     when 2 then args
      else raise Error.new("diff must have 1 or 2 arguments")
    end
  grit_diffs = @grit_repo.diff(*diff_comamnd_args)
  array_diff_hashes = grit_diffs.map do |diff|
    Diff::Attributes.inject(Hash.new) do |h,a|
      val = diff.send(a)
      val ?  h.merge(a => val) : h
    end
  end
  Diffs.new(array_diff_hashes)
end