summaryrefslogtreecommitdiffstats
path: root/vendor/diff-display
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/diff-display')
-rw-r--r--vendor/diff-display/lib/diff/display/data_structure.rb17
-rw-r--r--vendor/diff-display/lib/diff/display/unified.rb6
2 files changed, 21 insertions, 2 deletions
diff --git a/vendor/diff-display/lib/diff/display/data_structure.rb b/vendor/diff-display/lib/diff/display/data_structure.rb
index 176eaf9..1da658c 100644
--- a/vendor/diff-display/lib/diff/display/data_structure.rb
+++ b/vendor/diff-display/lib/diff/display/data_structure.rb
@@ -3,6 +3,21 @@ module Diff
class Data < Array
def initialize
super
+ @stats = {:additions => 0, :deletions => 0}
+ end
+
+ def stats
+ each do |block|
+ block.each do |line|
+ case line
+ when Diff::Display::AddLine
+ @stats[:additions] += 1
+ when Diff::Display::RemLine
+ @stats[:deletions] += 1
+ end
+ end
+ end
+ @stats
end
def to_diff
@@ -190,4 +205,4 @@ module Diff
class NonewlineBlock < Block; end
#:startdoc:#
end
-end \ No newline at end of file
+end
diff --git a/vendor/diff-display/lib/diff/display/unified.rb b/vendor/diff-display/lib/diff/display/unified.rb
index b5e0169..9754f89 100644
--- a/vendor/diff-display/lib/diff/display/unified.rb
+++ b/vendor/diff-display/lib/diff/display/unified.rb
@@ -5,6 +5,10 @@ module Diff
@data = Diff::Display::Unified::Generator.run(udiff)
end
attr_reader :data
+
+ def stats
+ @stats ||= data.stats
+ end
def render(renderer, out="")
out << renderer.render(data)
@@ -12,4 +16,4 @@ module Diff
end
end
end
-end \ No newline at end of file
+end