class PairSee::KnowledgeDebt
Public Class Methods
new(log_lines, card_prefixes, people)
click to toggle source
# File lib/pair_see/knowledge_debt.rb, line 3 def initialize(log_lines, card_prefixes, people) @log_lines = log_lines @card_prefixes = card_prefixes @people = people end
Public Instance Methods
commits_per_card()
click to toggle source
# File lib/pair_see/knowledge_debt.rb, line 20 def commits_per_card card_to_commits = {} @log_lines.each do |ll| cn = ll.card_number(@card_prefixes) card_to_commits[cn] = [] unless card_to_commits[cn] card_to_commits[cn] << ll end card_to_commits end
knowledge_debt()
click to toggle source
# File lib/pair_see/knowledge_debt.rb, line 9 def knowledge_debt # TODO: do something here with percentage knowledge per card commits_per_card.map do |card_name, commits| authors_per_commit = commits.map do |log_line| log_line.all_authors(@people) end authors = authors_per_commit.flatten.uniq CardKnowledgeSummary.new(card_name, commits.count, authors) end.select(&:has_debt).sort_by(&:authors_list).map(&:pretty) end