class Xfel::Timew::Report
Main entry point for TimeWarrior report
Public Class Methods
new()
click to toggle source
# File lib/xfel/timew/report.rb, line 12 def initialize table = Table.new read.each do |x| worklog = convert(x) next if worklog.nil? Jira.new(worklog) table.add(worklog) end table.render end
Public Instance Methods
convert(item)
click to toggle source
# File lib/xfel/timew/report.rb, line 54 def convert(item) key = key_from_tags(item['tags']) return unless key && item['end'] start = DateTime.parse(item['start']) st = start.strftime('%Y-%m-%dT%H:%M:%S.%L%z') finish = DateTime.parse(item['end']) duration = finish.to_time.to_i - start.to_time.to_i project = project_from_key(key) { project: project, key: key, start: st, duration: duration } end
project_from_key(key)
click to toggle source
# File lib/xfel/timew/report.rb, line 50 def project_from_key(key) key.split('-')[0] end
read()
click to toggle source
# File lib/xfel/timew/report.rb, line 28 def read header_finished = false json_str = '' while (line = gets) if !header_finished header_finished = line.length == 1 else json_str += line end end JSON.parse(json_str) end
task_rc()
click to toggle source
# File lib/xfel/timew/report.rb, line 24 def task_rc 'rc.report.list.columns="description" rc.report.list.labels="Notes" rc.verbose=label' end