Module: Timetrap::Helpers
- Included in:
- CLI, Formatters::Text
- Defined in:
- lib/timetrap/helpers.rb
Instance Method Summary collapse
- #format_date(time) ⇒ Object
- #format_date_if_new(time, last_time) ⇒ Object
- #format_duration(stime, etime) ⇒ Object
- #format_seconds(secs) ⇒ Object
- #format_time(time) ⇒ Object
- #format_total(entries) ⇒ Object
- #same_day?(time, other_time) ⇒ Boolean
- #sheet_name_from_string(string) ⇒ Object
Instance Method Details
#format_date(time) ⇒ Object
8 9 10 11 |
# File 'lib/timetrap/helpers.rb', line 8 def format_date time return '' unless time.respond_to?(:strftime) time.strftime('%a %b %d, %Y') end |
#format_date_if_new(time, last_time) ⇒ Object
13 14 15 16 |
# File 'lib/timetrap/helpers.rb', line 13 def format_date_if_new time, last_time return '' unless time.respond_to?(:strftime) same_day?(time, last_time) ? '' : format_date(time) end |
#format_duration(stime, etime) ⇒ Object
22 23 24 25 26 |
# File 'lib/timetrap/helpers.rb', line 22 def format_duration stime, etime return '' unless stime and etime secs = etime.to_i - stime.to_i format_seconds secs end |
#format_seconds(secs) ⇒ Object
28 29 30 |
# File 'lib/timetrap/helpers.rb', line 28 def format_seconds secs "%2s:%02d:%02d" % [secs/3600, (secs%3600)/60, secs%60] end |
#format_time(time) ⇒ Object
3 4 5 6 |
# File 'lib/timetrap/helpers.rb', line 3 def format_time time return '' unless time.respond_to?(:strftime) time.strftime('%H:%M:%S') end |
#format_total(entries) ⇒ Object
32 33 34 35 |
# File 'lib/timetrap/helpers.rb', line 32 def format_total entries secs = entries.inject(0){|m, e|e_end = e.end || Time.now; m += e_end.to_i - e.start.to_i if e_end && e.start;m} "%2s:%02d:%02d" % [secs/3600, (secs%3600)/60, secs%60] end |
#same_day?(time, other_time) ⇒ Boolean
18 19 20 |
# File 'lib/timetrap/helpers.rb', line 18 def same_day? time, other_time format_date(time) == format_date(other_time) end |
#sheet_name_from_string(string) ⇒ Object
37 38 39 40 41 42 43 |
# File 'lib/timetrap/helpers.rb', line 37 def sheet_name_from_string string return "all" if string =~ /^\W*all\W*$/ return "" unless string =~ /.+/ DB[:entries].filter(:sheet.like("#{string}%")).first[:sheet] rescue "" end |