Sha256: 790def81e1a9587e1e884665df27af458bc7da190de556edc40bd3c48926f190

Contents?: true

Size: 680 Bytes

Versions: 1

Compression:

Stored size: 680 Bytes

Contents

# frozen_string_literal: true

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

1 entries across 1 versions & 1 rubygems

Version Path
git_diff-0.4.3 lib/git_diff/stats_collector/hunk.rb