Class: LabClient::ProjectMilestones

Inherits:
Common
  • Object
show all
Includes:
ClassHelpers
Defined in:
lib/labclient/projects/milestones/list.rb,
lib/labclient/projects/milestones/show.rb,
lib/labclient/projects/milestones/client.rb,
lib/labclient/projects/milestones/create.rb,
lib/labclient/projects/milestones/delete.rb,
lib/labclient/projects/milestones/issues.rb,
lib/labclient/projects/milestones/update.rb,
lib/labclient/projects/milestones/promote.rb,
lib/labclient/projects/milestones/burndown.rb,
lib/labclient/projects/milestones/merge_requests.rb

Overview

Specifics

Constant Summary

Constants included from AccessLevel

AccessLevel::HUMAN_ACCESS_LEVELS, AccessLevel::MACHINE_ACCESS_LEVELS

Instance Attribute Summary

Attributes inherited from Common

#client

Instance Method Summary collapse

Methods included from ClassHelpers

#has?, #keys, #raw

Methods inherited from Common

#api_methods, #api_methods_help, #format_id, #format_query_id, #format_query_ids, #format_time?, #group_name, #help, #initialize, #inspect, #klass, #protected_query_access_level, #query_access_level, #query_format_time

Methods included from Docs

#demo, #desc, #doc, docs, #example, #group_name, #help, json, #markdown, #navigation, #option, #result, #subtitle, #title

Methods included from AccessLevel

#human_access_level, #human_protected_access_level, #machine_access_level, #machine_protected_access_level

Constructor Details

This class inherits a constructor from LabClient::Common

Instance Method Details

#burndown(project_id, milestone_id) ⇒ Object

Show Specific



29
30
31
32
33
34
# File 'lib/labclient/projects/milestones/burndown.rb', line 29

def burndown(project_id, milestone_id)
  milestone_id = format_id(milestone_id)
  project_id = format_id(project_id)

  client.request(:get, "projects/#{project_id}/milestones/#{milestone_id}/burndown_events")
end

#create(project_id, query = {}) ⇒ Object



28
29
30
31
32
33
34
35
# File 'lib/labclient/projects/milestones/create.rb', line 28

def create(project_id, query = {})
  project_id = format_id(project_id)

  query[:due_date] = query[:due_date].to_time.iso8601 if format_time?(query[:due_date])
  query[:start_date] = query[:start_date].to_time.iso8601 if format_time?(query[:start_date])

  client.request(:post, "projects/#{project_id}/milestones", ProjectMilestone, query)
end

#delete(project_id, milestone_id) ⇒ Object



20
21
22
23
24
# File 'lib/labclient/projects/milestones/delete.rb', line 20

def delete(project_id, milestone_id)
  milestone_id = format_id(milestone_id)
  project_id = format_id(project_id)
  client.request(:delete, "projects/#{project_id}/milestones/#{milestone_id}")
end

#issues(project_id, milestone_id) ⇒ Object



22
23
24
25
26
27
# File 'lib/labclient/projects/milestones/issues.rb', line 22

def issues(project_id, milestone_id)
  milestone_id = format_id(milestone_id)
  project_id = format_id(project_id)

  client.request(:get, "projects/#{project_id}/milestones/#{milestone_id}/issues", Issue)
end

#list(project_id, query = {}) ⇒ Object

List



35
36
37
38
39
# File 'lib/labclient/projects/milestones/list.rb', line 35

def list(project_id, query = {})
  project_id = format_id(project_id)

  client.request(:get, "projects/#{project_id}/milestones", ProjectMilestone, query)
end

#merge_requests(project_id, milestone_id) ⇒ Object



22
23
24
25
26
27
# File 'lib/labclient/projects/milestones/merge_requests.rb', line 22

def merge_requests(project_id, milestone_id)
  milestone_id = format_id(milestone_id)
  project_id = format_id(project_id)

  client.request(:get, "projects/#{project_id}/milestones/#{milestone_id}/merge_requests", MergeRequest)
end

#promote(project_id, milestone_id) ⇒ Object



21
22
23
24
25
# File 'lib/labclient/projects/milestones/promote.rb', line 21

def promote(project_id, milestone_id)
  milestone_id = format_id(milestone_id)
  project_id = format_id(project_id)
  client.request(:post, "projects/#{project_id}/milestones/#{milestone_id}/promote")
end

#show(project_id, milestone_id) ⇒ Object

Show Specific



14
15
16
17
18
# File 'lib/labclient/projects/milestones/show.rb', line 14

def show(project_id, milestone_id)
  milestone_id = format_id(milestone_id)
  project_id = format_id(project_id)
  client.request(:get, "projects/#{project_id}/milestones/#{milestone_id}", ProjectMilestone)
end

#update(project_id, milestone_id, query = {}) ⇒ Object



35
36
37
38
39
40
41
42
43
# File 'lib/labclient/projects/milestones/update.rb', line 35

def update(project_id, milestone_id, query = {})
  milestone_id = format_id(milestone_id)
  project_id = format_id(project_id)

  query[:due_date] = query[:due_date].to_time.iso8601 if format_time?(query[:due_date])
  query[:start_date] = query[:start_date].to_time.iso8601 if format_time?(query[:start_date])

  client.request(:put, "projects/#{project_id}/milestones/#{milestone_id}", ProjectMilestone, query)
end