Class: CommitTracker::Task

Inherits:
Object
  • Object
show all
Defined in:
lib/commit_tracker/task.rb

Overview

CommitTracker::Task

Abstract class for task

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Task

Initializes the CommitTracker::Task

  • type tracker (:type)

  • url api (:url)

  • auth login (:login)

  • password (:password)

Examples

commit = CommitTracker::Task.new(:type => 'trackstudio'
                                 :url => 'http://ts.domain.com/TrackStudio/services/', 
                                 :login => 'user', 
                                 :password => 'qwerty')


24
25
26
27
28
29
30
31
# File 'lib/commit_tracker/task.rb', line 24

def initialize(options={})
  @type   = options[:type] || 'trackstudio'
  @commit = nil
  case @type
  when 'trackstudio'
    @commit = TrackStudio.new(options)
  end
end

Instance Method Details

#create(options = {}) ⇒ Object

create task and return task id

Options:

  • name task (:name)

  • short name task (:shortname)

  • assigned user (:user)

  • parent task (:parent_number)

  • description (:description)

  • priority (:priority)

  • category task (:category)

  • budget time for task in seconds (:budget_sec)

  • deadline day (:deadline_sec)

  • name custom fields (:udf_names)(array)

  • value custom fields (:udf_values)(array)

Examples

taskId = commit.create(:name          => "example task 1"
                      :shortname     => "ex1",
                      :user          => "user_1",
                      :parent_number => 123,
                      :description   => "This is example task"
                      :priority      => "Normal",
                      :category      => "Task",
                      :budget_sec    => 3 * 3600,
                      :deadline_sec  => Time.now.to_i + 5 * 86400,
                      :udf_names     => ['one', 'two'],
                      :udf_values    => ['test', 4] )


61
62
63
64
65
66
67
68
# File 'lib/commit_tracker/task.rb', line 61

def create(options={})
  case @type
  when 'trackstudio'
    return @commit.create_task(options)
  else
    raise ErrorCommitTask, "error name tracker"
  end
end

#delete(options = {}) ⇒ Object

delete task by id or number

Examples

commit.delete(:task_number => 1234)
commit.delete(:task_number => taskId)


76
77
78
79
80
81
82
83
# File 'lib/commit_tracker/task.rb', line 76

def delete(options={})
  case @type
  when 'trackstudio'
    return @commit.delete_task(options)
  else
    raise ErrorCommitTask, "error name tracker"
  end
end