diff options
Diffstat (limited to 'vendor/diff-display')
-rw-r--r-- | vendor/diff-display/lib/diff/display/data_structure.rb | 17 | ||||
-rw-r--r-- | vendor/diff-display/lib/diff/display/unified.rb | 6 |
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 |