Sha256: 9dd301e0a28d2571cd5393d56059e2a6ce53860bc5427f9c6eadd00bd4fbdf55
Contents?: true
Size: 1.42 KB
Versions: 1
Compression:
Stored size: 1.42 KB
Contents
# frozen_string_literal: true module Toggl module Worktime # Toggle API driver class Driver attr_reader :toggl def initialize @toggl = TogglV8::API.new @merger = nil @work_time = nil end def time_entries(month, day, hour, timezone) now = DateTime.now offset = Toggl::Worktime::Time.zone_offset(timezone) beginning_day = DateTime.new(now.year, month, day, hour, 0, 0, offset) ending_day = beginning_day + 1 toggl.get_time_entries(start_date: beginning_day.iso8601, end_date: ending_day.iso8601) end def me @toggl.me(true) end def merge!(month, day, hour, timezone) time_entries = time_entries(month, day, hour, timezone) @merger = Toggl::Worktime::Merger.new(time_entries) @work_time = @merger.merge end def write @work_time.each do |span| begin_s = time_expr(span[0]) end_s = time_expr(span[1]) puts "#{begin_s} - #{end_s}" end end def time_expr(t) t ? t.strftime('%F %T') : 'nil' end def total_time time = @merger.total_time total_seconds = (time * 86400).to_i hours = total_seconds / (60 * 60) minutes = (total_seconds - (hours * 60 * 60)) / 60 seconds = total_seconds % 60 format("%02d:%02d:%02d", hours, minutes, seconds) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
toggl-worktime-0.1.7 | lib/toggl/worktime/driver.rb |