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