class Milestoner::Commits::Enrichers::Colleague
Enriches a commit colleague by using cache.
Public Class Methods
new(key:, parser: Gitt::Parsers::Person.new, **)
click to toggle source
Calls superclass method
# File lib/milestoner/commits/enrichers/colleague.rb, line 12 def initialize(key:, parser: Gitt::Parsers::Person.new, **) @key = key @parser = parser super(**) end
Public Instance Methods
call(commit)
click to toggle source
# File lib/milestoner/commits/enrichers/colleague.rb, line 18 def call(commit) = commit.find_trailers(key).bind { |trailers| users_for(trailers).compact } private attr_reader :key, :parser def users_for(trailers) = trailers.map { |trailer| user_for parser.call(trailer.value) } def user_for person cache.read(:users) { find person.name } .value_or(nil) end end end
user_for(person)
click to toggle source
# File lib/milestoner/commits/enrichers/colleague.rb, line 26 def user_for person cache.read(:users) { find person.name } .value_or(nil) end
users_for(trailers)
click to toggle source
# File lib/milestoner/commits/enrichers/colleague.rb, line 24 def users_for(trailers) = trailers.map { |trailer| user_for parser.call(trailer.value) } def user_for person cache.read(:users) { find person.name } .value_or(nil) end end