class Diffy::Diff

def each_chunk

def each_chunk
  old_state = nil
  chunks = inject([]) do |cc, line|
    state = line.each_char.first
    if state == old_state
      cc.last << line
    else
      cc.push line.dup
    end
    old_state = state
    cc
  end
  if block_given?
    chunks.each{|chunk| yield chunk }
  else
    chunks.to_enum
  end
end