Sha256: 89c1c251b022c66e04ad6398d2297361bd74d2238df444380fd50cc123da2190

Contents?: true

Size: 653 Bytes

Versions: 5

Compression:

Stored size: 653 Bytes

Contents

module GitDiff
  module StatsCollector
    class Hunk
      attr_reader :hunk

      def initialize(hunk)
        @hunk = hunk
      end

      def collect
        GitDiff::Stats.new(
          number_of_lines: number_of_lines,
          number_of_additions: number_of_additions,
          number_of_deletions: number_of_deletions
        )
      end

      private

      def number_of_lines
        lines.count
      end

      def number_of_additions
        lines.select(&:addition?).count
      end

      def number_of_deletions
        lines.select(&:deletion?).count
      end

      def lines
        hunk.lines
      end
    end

  end
end



Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
git_diff-0.4.2 lib/git_diff/stats_collector/hunk.rb
git_diff-0.4.1 lib/git_diff/stats_collector/hunk.rb
git_diff-0.4.0 lib/git_diff/stats_collector/hunk.rb
git_diff-0.3.1 lib/git_diff/stats_collector/hunk.rb
git_diff-0.3.0 lib/git_diff/stats_collector/hunk.rb