Sha256: 2666d6124732e7ab1d7923988109aa95838f6bf1072321df3a3146fb9309407b
Contents?: true
Size: 687 Bytes
Versions: 1
Compression:
Stored size: 687 Bytes
Contents
# frozen_string_literal: true module GitDiff class StatsCalculator attr_reader :collector def initialize(collector) @collector = collector end def total GitDiff::Stats.new( number_of_lines: calculate_total(:number_of_lines), number_of_additions: calculate_total(:number_of_additions), number_of_deletions: calculate_total(:number_of_deletions) ) end private def calculate_total(type) collect_stat(type).inject(:+) end def collect_stat(type) stats_collection.map { |stats| stats.public_send(type) }.flatten end def stats_collection Array(collector.collect) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
git_diff-0.4.3 | lib/git_diff/stats_calculator.rb |