Sha256: 461b2ff12c9bf1b3cb7d22133e755eb0a33af106061a8b525168d8ad1b09be12

Contents?: true

Size: 801 Bytes

Versions: 1

Compression:

Stored size: 801 Bytes

Contents

module PairSee
  class LogLines
    require_relative 'log_line'
    require 'git'

    include Enumerable

    def initialize(lines)
      @lines = lines
    end

    def each(&block)
      @lines.each &block
    end

    def last
      @lines.last
    end

    def active?(person)
      any? do |log_line|
        log_line.authored_by?(person)
      end
    end

    def commits_for_pair(person1, person2)
      select { |log_line| log_line.authored_by?(person1, person2) }
    end

    def commits_not_by_known_person(devs)
      reject { |log_line| log_line.by_any? devs }
    end

    def solo_commits(people, person)
      select do |log_line|
        log_line.authored_by?(person) && (people - [person]).none? { |single_person| log_line.authored_by?(single_person) }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pair_see-0.1.6 lib/pair_see/log_lines.rb