Class: PT::Client
- Inherits:
-
Object
- Object
- PT::Client
- Defined in:
- lib/pt/client.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add_label(project, task, label) ⇒ Object
- #assign_task(project, task, owner) ⇒ Object
- #comment_task(project, task, comment) ⇒ Object
- #create_task(project, name, owner, requester, task_type) ⇒ Object
- #create_task_with_description(project, name, owner, requester, task_type, description) ⇒ Object
- #estimate_task(project, task, points) ⇒ Object
- #get_activities(project, limit) ⇒ Object
- #get_current_iteration(project) ⇒ Object
- #get_member(project, query) ⇒ Object
- #get_members(project) ⇒ Object
- #get_membership(project, email) ⇒ Object
- #get_my_open_tasks(project, user_name) ⇒ Object
- #get_my_tasks_to_accept(project, user_name) ⇒ Object
- #get_my_tasks_to_deliver(project, user_name) ⇒ Object
- #get_my_tasks_to_estimate(project, user_name) ⇒ Object
- #get_my_tasks_to_finish(project, user_name) ⇒ Object
- #get_my_tasks_to_reject(project, user_name) ⇒ Object
- #get_my_tasks_to_start(project, user_name) ⇒ Object
- #get_my_work(project, user_name) ⇒ Object
- #get_project(project_id) ⇒ Object
- #get_projects ⇒ Object
- #get_task_by_id(id) ⇒ Object
- #get_tasks_to_assign(project, user_name) ⇒ Object
- #get_work(project) ⇒ Object
-
#initialize(api_number) ⇒ Client
constructor
A new instance of Client.
- #mark_task_as(project, task, state) ⇒ Object
Constructor Details
#initialize(api_number) ⇒ Client
Returns a new instance of Client.
12 13 14 15 |
# File 'lib/pt/client.rb', line 12 def initialize(api_number) PivotalTracker::Client.token = api_number @project = nil end |
Class Method Details
.get_api_token(email, password) ⇒ Object
6 7 8 9 10 |
# File 'lib/pt/client.rb', line 6 def self.get_api_token(email, password) PivotalTracker::Client.token(email, password) rescue RestClient::Unauthorized raise PT::InputError.new("Bad email/password combination.") end |
Instance Method Details
#add_label(project, task, label) ⇒ Object
113 114 115 116 117 118 119 120 121 |
# File 'lib/pt/client.rb', line 113 def add_label(project, task, label) task = PivotalTracker::Story.find(task.id, project.id) if task.labels task.labels += "," + label; task.update(:labels => task.labels) else task.update(:labels => label) end end |
#assign_task(project, task, owner) ⇒ Object
108 109 110 111 |
# File 'lib/pt/client.rb', line 108 def assign_task(project, task, owner) task = PivotalTracker::Story.find(task.id, project.id) task.update(:owned_by => owner) end |
#comment_task(project, task, comment) ⇒ Object
123 124 125 126 |
# File 'lib/pt/client.rb', line 123 def comment_task(project, task, comment) task = PivotalTracker::Story.find(task.id, project.id) task.notes.create(:text => comment) end |
#create_task(project, name, owner, requester, task_type) ⇒ Object
128 129 130 |
# File 'lib/pt/client.rb', line 128 def create_task(project, name, owner, requester, task_type) project.stories.create(:name => name, :owned_by => owner, :requested_by => requester, :story_type => task_type) end |
#create_task_with_description(project, name, owner, requester, task_type, description) ⇒ Object
132 133 134 |
# File 'lib/pt/client.rb', line 132 def create_task_with_description(project, name, owner, requester, task_type, description) project.stories.create(:name => name, :owned_by => owner, :requested_by => requester, :story_type => task_type, :description => description) end |
#estimate_task(project, task, points) ⇒ Object
103 104 105 106 |
# File 'lib/pt/client.rb', line 103 def estimate_task(project, task, points) task = PivotalTracker::Story.find(task.id, project.id) task.update(:estimate => points) end |
#get_activities(project, limit) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/pt/client.rb', line 36 def get_activities(project, limit) if limit project.activities.all :limit => limit else project.activities.all end end |
#get_current_iteration(project) ⇒ Object
32 33 34 |
# File 'lib/pt/client.rb', line 32 def get_current_iteration(project) PivotalTracker::Iteration.current(project) end |
#get_member(project, query) ⇒ Object
89 90 91 92 |
# File 'lib/pt/client.rb', line 89 def get_member(project, query) member = project.memberships.all.select{ |m| m.name.downcase.start_with? query.downcase || m.initials.downcase == query.downcase } member.empty? ? nil : member.first end |
#get_members(project) ⇒ Object
94 95 96 |
# File 'lib/pt/client.rb', line 94 def get_members(project) project.memberships.all end |
#get_membership(project, email) ⇒ Object
28 29 30 |
# File 'lib/pt/client.rb', line 28 def get_membership(project, email) PivotalTracker::Membership.all(project).select{ |m| m.email == email }.first end |
#get_my_open_tasks(project, user_name) ⇒ Object
56 57 58 |
# File 'lib/pt/client.rb', line 56 def get_my_open_tasks(project, user_name) project.stories.all :owner => user_name end |
#get_my_tasks_to_accept(project, user_name) ⇒ Object
77 78 79 |
# File 'lib/pt/client.rb', line 77 def get_my_tasks_to_accept(project, user_name) project.stories.all(:owner => user_name, :current_state => 'delivered') end |
#get_my_tasks_to_deliver(project, user_name) ⇒ Object
73 74 75 |
# File 'lib/pt/client.rb', line 73 def get_my_tasks_to_deliver(project, user_name) project.stories.all(:owner => user_name, :current_state => 'finished') end |
#get_my_tasks_to_estimate(project, user_name) ⇒ Object
60 61 62 |
# File 'lib/pt/client.rb', line 60 def get_my_tasks_to_estimate(project, user_name) project.stories.all(:owner => user_name, :story_type => 'feature').select{ |t| t.estimate == -1 } end |
#get_my_tasks_to_finish(project, user_name) ⇒ Object
69 70 71 |
# File 'lib/pt/client.rb', line 69 def get_my_tasks_to_finish(project, user_name) project.stories.all(:owner => user_name, :current_state => 'started') end |
#get_my_tasks_to_reject(project, user_name) ⇒ Object
81 82 83 |
# File 'lib/pt/client.rb', line 81 def get_my_tasks_to_reject(project, user_name) project.stories.all(:owner => user_name, :current_state => 'delivered') end |
#get_my_tasks_to_start(project, user_name) ⇒ Object
64 65 66 67 |
# File 'lib/pt/client.rb', line 64 def get_my_tasks_to_start(project, user_name) tasks = project.stories.all(:owner => user_name, :current_state => 'unscheduled,rejected,unstarted') tasks.reject{ |t| (t.story_type == 'feature') && (t.estimate == -1) } end |
#get_my_work(project, user_name) ⇒ Object
48 49 50 |
# File 'lib/pt/client.rb', line 48 def get_my_work(project, user_name) project.stories.all :mywork => user_name end |
#get_project(project_id) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/pt/client.rb', line 17 def get_project(project_id) get_projects project = PivotalTracker::Project.find(project_id) PivotalTracker::Client.use_ssl = project.use_https project end |
#get_projects ⇒ Object
24 25 26 |
# File 'lib/pt/client.rb', line 24 def get_projects PivotalTracker::Project.all end |
#get_task_by_id(id) ⇒ Object
52 53 54 |
# File 'lib/pt/client.rb', line 52 def get_task_by_id(id) get_projects.map {|project| project.stories.all(:id => id)}.flatten.first end |
#get_tasks_to_assign(project, user_name) ⇒ Object
85 86 87 |
# File 'lib/pt/client.rb', line 85 def get_tasks_to_assign(project, user_name) project.stories.all.select{ |t| t.owned_by == nil } end |
#get_work(project) ⇒ Object
44 45 46 |
# File 'lib/pt/client.rb', line 44 def get_work(project) project.stories.all(:current_state => 'unscheduled,unstarted,started') end |
#mark_task_as(project, task, state) ⇒ Object
98 99 100 101 |
# File 'lib/pt/client.rb', line 98 def mark_task_as(project, task, state) task = PivotalTracker::Story.find(task.id, project.id) task.update(:current_state => state) end |