class RepoMiner::Repository

Attributes

branch[R]
repo_path[R]

Public Class Methods

new(repo_path) click to toggle source
# File lib/repo_miner/repository.rb, line 6
def initialize(repo_path)
  @repo_path = repo_path
end

Public Instance Methods

analyse(branch = 'master', since = nil) click to toggle source
# File lib/repo_miner/repository.rb, line 22
def analyse(branch = 'master', since = nil)
  walk(branch, since).map do |commit|
    Commit.new(self, commit).analyse
  end
end
rugged_repository() click to toggle source
# File lib/repo_miner/repository.rb, line 10
def rugged_repository
  @repository ||= Rugged::Repository.new(repo_path)
end
walk(branch, since = nil) click to toggle source
# File lib/repo_miner/repository.rb, line 14
def walk(branch, since = nil)
  @walker = Rugged::Walker.new(rugged_repository)
  @walker.sorting(Rugged::SORT_TOPO | Rugged::SORT_REVERSE)
  @walker.hide(rugged_repository.lookup(since)) if since
  @walker.push(rugged_repository.branches[branch].target_id)
  @walker
end