lib/TokiCLI/view.rb in TokiCLI-0.0.1 vs lib/TokiCLI/view.rb in TokiCLI-0.0.2
- old
+ new
@@ -7,26 +7,35 @@
list.each do |k,v|
table << ["#{k}", "#{v}"]
end
table
end
+ def hits_table(list)
+ table = init_table
+ table.title = "Your top apps monitored by Toki"
+ list.each.with_index(1) do |obj,index|
+ table << ["#{index}", "#{obj[0]}", "#{obj[1]}"]
+ end
+ table
+ end
def app_table(asked, app_data)
table = init_table
- table.title = "Toki time tracking for '#{asked}'"
- table.headings = ['From', 'To', 'Duration']
+ table.style = { :width => 100 }
+ table.title = "Toki time tracking for '#{asked}' => #{app_data.first[1][:name]}"
+ table.headings = ['From', 'To', 'Duration', 'Sync id']
@index = 0
@length = app_data.length - 1
- app_data.each do |id, log|
- if id == 'total'
- @total = log
- next
- end
+ @total = app_data.select {|k,v| k == 'total'}
+ app_data.delete('total')
+ data = app_data.to_a
+ data.sort_by! {|k,v| v[:raw_from] }
+ data.each do |id, log|
@index += 1
- table << ["#{log[:from]}", "#{log[:to]}", "#{log[:duration]}"]
+ table << ["#{log[:from]}", "#{log[:to]}", "#{log[:duration]}", "#{id}"]
table << :separator unless @index == @length
end
table << :separator
- table << [{ :value => "Total: #{@total}", :colspan => 3, :alignment => :center }]
+ table << [{ :value => "Total: #{@total['total']}", :colspan => 4, :alignment => :center }]
table
end
private