class TimeCamp::Task

Attributes

archived[R]
assigned_by[R]
billable[R]
budget_unit[R]
budgeted[R]
color[R]
external_parent_id[R]
external_task_id[R]
level[R]
name[R]
note[R]
parent_id[R]
public_hash[R]
root_group_id[R]
tags[R]
task_id[R]
user_access_type[R]
users[R]

Public Class Methods

create(opts={}) click to toggle source

required :name optional :tags, :parent_id, :external_task_id, :external_parent_id,

:budgeted, :note, :archived, :billable, :budget_unit,
:user_ids (comma separated), :role
# File lib/ruby-timecamp/resources/task.rb, line 22
def self.create(opts={})
  data_keys = [:name, :tags, :parent_id, :external_task_id, :external_parent_id, :budgeted, :note, :archived, :billable, :budget_unit, :user_ids, :role]
  data, opts = opts.partition{ |k, v| data_keys.include?(k) }.map(&:to_h)
  response = TimeCamp::Request.post(resource_name, opts, data)
  return TaskCollection.parse(response)
end
get(opts={}) click to toggle source

optional :task_id

# File lib/ruby-timecamp/resources/task.rb, line 13
def self.get(opts={})
  response = TimeCamp::Request.get(resource_name, opts)
  return TaskCollection.parse(response)
end
update(opts={}) click to toggle source

required :task_id optional :name, :tags, :parent_id, :external_task_id,

:external_parent_id, :budgeted, :note, :archived,
:billable, :budget_unit, :user_ids (comma separated), :role
# File lib/ruby-timecamp/resources/task.rb, line 33
def self.update(opts={})
  data_keys = [:task_id, :name, :tags, :parent_id, :external_task_id, :external_parent_id, :budgeted, :note, :archived, :billable, :budget_unit, :user_ids, :role]
  data, opts = opts.partition{ |k, v| data_keys.include?(k) }.map(&:to_h)
  response = TimeCamp::Request.put(resource_name, opts, data)
  return TaskCollection.parse(response)
end

Private Instance Methods

load_attributes(response) click to toggle source

INSTANCE METHODS #

# File lib/ruby-timecamp/resources/task.rb, line 45
def load_attributes(response)
  @task_id = response[:task_id]
  @parent_id = response[:parent_id]
  @assigned_by = response[:assigned_by]
  @name = response[:name]
  @external_task_id = response[:external_task_id]
  @external_parent_id = response[:external_parent_id]
  @level = response[:level]
  @archived = response[:archived]
  @color = response[:color]
  @tags = response[:tags]
  @budgeted = response[:budgeted]
  @budget_unit = response[:budget_unit]
  @root_group_id = response[:root_group_id]
  @billable = response[:billable]
  @note = response[:note]
  @public_hash = response[:public_hash]
  @users = response[:users]
  @user_access_type = response[:user_access_type]
end