git_stats/lib/git_stats/git_data/author.rb

28 lines
572 B
Ruby

require 'git_stats/hash_initializable'
module GitStats
module GitData
class Author
include HashInitializable
attr_reader :repo, :name, :email
def add_commit(commit)
commits << commit
activity.add_commit(commit)
end
def commits
@commits ||= repo.commits.select { |hash, commit| commit.author == self }
end
def activity
@activity ||= commits.values.inject(Activity.new) do |activity, commit|
activity.add_commit(commit)
activity
end
end
end
end
end