Class: HOC::Base

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

Overview

Code base abstraction

Instance Method Summary collapse

Constructor Details

#initialize(opts) ⇒ Base

Ctor.

opts

Options



36
37
38
39
40
41
# File 'lib/hoc.rb', line 36

def initialize(opts)
  @dir = opts[:dir]
  raise 'only "int" format is supported now' unless
    opts[:format].nil? || opts[:format] == 'int'
  @exclude = opts[:exclude].nil? ? [] : opts[:exclude]
end

Instance Method Details

#reportObject

Generate report.



44
45
46
47
48
49
50
51
52
53
54
# File 'lib/hoc.rb', line 44

def report
  repo = nil
  if File.exist?(File.join(@dir, '.git'))
    repo = Git.new(@dir, @exclude)
  elsif File.exist?(File.join(@dir, '.svn'))
    repo = Svn.new(@dir)
  else
    raise 'only Git repositories supported now'
  end
  repo.hits.map(&:total).inject(:+)
end