37 lines
716 B
Ruby
37 lines
716 B
Ruby
# Formatter for diff output
|
|
module Differ
|
|
module Format
|
|
# Try to format as unified diff, using - and +
|
|
module Patch
|
|
class << self
|
|
def format(change)
|
|
case
|
|
when change.change?
|
|
as_change change
|
|
when change.delete?
|
|
as_delete change
|
|
when change.insert?
|
|
as_insert change
|
|
else
|
|
''
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def as_insert(change)
|
|
"+ #{change.insert}"
|
|
end
|
|
|
|
def as_delete(change)
|
|
"- #{change.delete}"
|
|
end
|
|
|
|
def as_change(change)
|
|
[as_delete(change), as_insert(change)].join "\n"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|