Class: PairSee::CardsPerPerson
- Inherits:
-
Object
- Object
- PairSee::CardsPerPerson
- Defined in:
- lib/pair_see/cards_per_person.rb
Instance Attribute Summary collapse
-
#devs ⇒ Object
readonly
Returns the value of attribute devs.
Instance Method Summary collapse
- #_active(devs) ⇒ Object
- #_cards_dev_worked_on(log_lines, dev) ⇒ Object
- #_is_active?(dev) ⇒ Boolean
- #cards_per_person ⇒ Object
-
#initialize(log_lines, options) ⇒ CardsPerPerson
constructor
A new instance of CardsPerPerson.
Constructor Details
#initialize(log_lines, options) ⇒ CardsPerPerson
Returns a new instance of CardsPerPerson.
5 6 7 8 9 |
# File 'lib/pair_see/cards_per_person.rb', line 5 def initialize(log_lines, ) @log_lines = log_lines @options = @devs = _active([:names]) end |
Instance Attribute Details
#devs ⇒ Object (readonly)
Returns the value of attribute devs.
3 4 5 |
# File 'lib/pair_see/cards_per_person.rb', line 3 def devs @devs end |
Instance Method Details
#_active(devs) ⇒ Object
33 34 35 36 37 |
# File 'lib/pair_see/cards_per_person.rb', line 33 def _active(devs) devs.select do |dev| _is_active?(dev) end end |
#_cards_dev_worked_on(log_lines, dev) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/pair_see/cards_per_person.rb', line 25 def _cards_dev_worked_on(log_lines, dev) log_lines.select do |log_line| log_line.(dev) end.map do |log_line| log_line.card_number(@options[:card_prefix]) end.compact end |
#_is_active?(dev) ⇒ Boolean
39 40 41 |
# File 'lib/pair_see/cards_per_person.rb', line 39 def _is_active?(dev) @log_lines.active? dev end |
#cards_per_person ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/pair_see/cards_per_person.rb', line 11 def cards_per_person @devs.map do |dev| {dev => _cards_dev_worked_on(@log_lines, dev)} end.inject({}) do |result, element| result.merge(element) end.map do |dev_name, cards_worked| {dev_name => cards_worked.uniq} end.inject({}) do |result, element| result.merge(element) end.map do |dev, cards| "#{dev}: [#{cards.size} cards] #{cards.sort.join(', ')}" end end |