class Diggit::DevelopersActivity::Analyses::ProjectDevelopersAnalysis

Records the activity of developers at the project level, ie, the date at which developers commit

@since 0.0.1

Public Instance Methods

clean() click to toggle source
# File lib/diggit/developers_activity/analyses/project_developers_analysis.rb, line 39
def clean
        db.client[COL].find({ project: @source.url }).delete_many
end
run() click to toggle source
# File lib/diggit/developers_activity/analyses/project_developers_analysis.rb, line 13
def run
        super
        puts('Extracting project-level activity')

        unless src_opt[@source].nil?
                r_last = repo.lookup(src_opt[@source]["R_last"])
                r_first = repo.lookup(src_opt[@source]["R_first"])
        end

        walker = Rugged::Walker.new(repo)
        if src_opt[@source].nil?
                walker.push(repo.head.target.oid)
        else
                walker.push_range("#{r_first.oid}..#{r_last.oid}")
        end
        devs = []
        walker.each do |commit|
                t = commit.author[:time]
                author = Authors.get_author(commit)
                puts "plop #{author}"
                devs << { project: @source.url, author: author, time: t }
        end

        db.insert(COL, devs)
end