class TimeCamp::Timer
Attributes
elapsed[R]
entry_id[R]
entry_time[R]
external_task_id[R]
isTimerRunning[R]
name[R]
new_timer_id[R]
start_time[R]
task_id[R]
timer_id[R]
Public Class Methods
get()
click to toggle source
# File lib/ruby-timecamp/resources/timer.rb, line 15 def self.get response = TimeCamp::Request.post(resource_name, {}, { action: 'status' }) return Timer.new(response) end
resource_name()
click to toggle source
override because the path for this resource is not plural for some reason
# File lib/ruby-timecamp/resources/timer.rb, line 11 def self.resource_name return 'timer' end
start(opts={})
click to toggle source
optional :task_id, :entry_id, :started_at
# File lib/ruby-timecamp/resources/timer.rb, line 21 def self.start(opts={}) data_keys = [:task_id, :entry_id, :started_at] data, opts = opts.partition{ |k, v| data_keys.include?(k) }.map(&:to_h) data.merge!(action: 'start') response = TimeCamp::Request.post(resource_name, opts, data) return Timer.new(response) end
stop(opts={})
click to toggle source
required :timer_id, :stopped_at
# File lib/ruby-timecamp/resources/timer.rb, line 30 def self.stop(opts={}) data_keys = [:timer_id, :stopped_at] data, opts = opts.partition{ |k, v| data_keys.include?(k) }.map(&:to_h) data.merge!(action: 'stop') response = TimeCamp::Request.post(resource_name, opts, data) return Timer.new(response) end
Private Instance Methods
load_attributes(response)
click to toggle source
INSTANCE METHODS #
# File lib/ruby-timecamp/resources/timer.rb, line 43 def load_attributes(response) @new_timer_id = response[:new_timer_id] @entry_id = response[:entry_id] @is_timer_running = response[:isTimerRunning] @elapsed = response[:elapsed] @timer_id = response[:timer_id] @start_time = response[:start_time] @task_id = response[:task_id] @name =response[:name] @external_task_id = response[:external_task_id] @entry_time = response[:entry_time] end