Class: HOC::Git

Inherits:
Object
  • Object
show all
Defined in:
lib/hoc/git.rb

Overview

Git source code base.

Instance Method Summary collapse

Constructor Details

#initialize(dir) ⇒ Git

Returns a new instance of Git.



30
31
32
# File 'lib/hoc/git.rb', line 30

def initialize(dir)
  @dir = dir
end

Instance Method Details

#hitsObject



34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/hoc/git.rb', line 34

def hits
  log = `git '--git-dir=#{@dir}/.git' log --pretty=format:%ci --numstat`
  log.split(/\n\n/).map do |c|
    lines = c.split(/\n/)
    Hits.new(
      Date.parse(lines[0]),
      lines.drop(1).map do |f|
        f.split(/\t/).take(2).map { |s| s.to_i }.inject(:+)
      end.inject(:+)
    )
  end
end