Class: TimeEase::RevParser

Inherits:
Object
  • Object
show all
Defined in:
lib/timease.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parsed_outputs) ⇒ RevParser

Returns a new instance of RevParser.



17
18
19
# File 'lib/timease.rb', line 17

def initialize(parsed_outputs)
  @parsed_entries = parsed_outputs
end

Instance Attribute Details

#parsed_entriesObject (readonly)

Returns the value of attribute parsed_entries.



15
16
17
# File 'lib/timease.rb', line 15

def parsed_entries
  @parsed_entries
end

Instance Method Details

#parseObject



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/timease.rb', line 21

def parse
  parsed_entries.group_by { |e| e.start_at.to_date }.map { |date, entries|
    start_time = l_time(entries.min_by { |e| e.start_at }.start_at)
    end_time   = l_time(entries.max_by { |e| e.end_at }.end_at)
    dones = entries.sort_by { |e| e.start_at }.map { |e|
      dur = (e.end_at - e.start_at) / 3600
      "#{e.pj_name} #{e.task_name}(#{dur.round(2)})"
    }
    Input.new(start_time, end_time, l_date(date), dones)
  }
end