class Origen::Utility::FileDiff::Formatter::Text

Public Instance Methods

format() click to toggle source
# File lib/origen/utility/file_diff.rb, line 171
def format
  pointer = 0
  while pointer < target_output.size
    size = 1
    type = source_output[pointer].type
    case type
    when :added
      added(pointer,    size = get_block_size(pointer, :added))
    when :deleted
      deleted(pointer,  size = get_block_size(pointer, :deleted))
    when :changed
      changed(pointer,  size = get_block_size(pointer, :changed))
    end
    file.puts unless type == :unchanged
    pointer += size
  end
end

Private Instance Methods

added(pointer, size) click to toggle source
# File lib/origen/utility/file_diff.rb, line 197
def added(pointer, size)
  file.puts(target_output[pointer].original_number)
  0.upto(size - 1) { |i| file.puts("+ #{target_output[pointer + i]}") }
end
changed(pointer, size) click to toggle source
# File lib/origen/utility/file_diff.rb, line 207
def changed(pointer, size)
  file.puts("#{source_output[pointer].original_number},#{target_output[pointer].original_number}")
  0.upto(size - 1) { |i| file.puts("source<< #{source_output[pointer + i]}") }
  file.puts('=======')
  0.upto(size - 1) { |i| file.puts("target>> #{target_output[pointer + i]}") }
end
deleted(pointer, size) click to toggle source
# File lib/origen/utility/file_diff.rb, line 202
def deleted(pointer, size)
  file.puts(source_output[pointer].original_number)
  0.upto(size - 1) { |i| file.puts("- #{source_output[pointer + i]}") }
end
get_block_size(pointer, type) click to toggle source
# File lib/origen/utility/file_diff.rb, line 191
def get_block_size(pointer, type)
  size = 1
  size += 1 while target_output[pointer + size].type == type
  size
end