Class: LabClient::Issue

Inherits:
Klass show all
Includes:
ClassHelpers
Defined in:
lib/labclient/issues/issue.rb

Overview

Inspect Helper

Instance Attribute Summary

Attributes inherited from Klass

#client

Attributes inherited from LabStruct

#response, #table

Instance Method Summary collapse

Methods included from ClassHelpers

#has?, #keys, #raw

Methods inherited from Klass

#api_methods, #collect_project_id, #collect_release_id, #collect_repository_id, date_time_attrs, #format_time?, #group_name, #help, #initialize, #klass, #quiet?, #success?, #to_json, #update_self, user_attrs, #valid_group_project_levels, #verbose

Methods included from Docs

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

Methods included from CurlHelper

#curl

Methods included from Logger

#logger, logger, logger_setup

Methods inherited from LabStruct

#[], #[]=, #as_json, #client, #initialize, #key?, #keys, #method_missing, #respond_to_missing?, #slice, #success?, #to_h

Constructor Details

This class inherits a constructor from LabClient::Klass

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class LabClient::LabStruct

Instance Method Details

#add_spent_time(duration) ⇒ Object



55
56
57
# File 'lib/labclient/issues/issue.rb', line 55

def add_spent_time(duration)
  client.issues.add_spent_time(project_id, iid, duration)
end

#agent_detailObject



83
84
85
# File 'lib/labclient/issues/issue.rb', line 83

def agent_detail
  client.issues.agent_detail(project_id, iid)
end

#assigneesObject



31
32
33
# File 'lib/labclient/issues/issue.rb', line 31

def assignees
  @table[:assignees].map { |x| User.new(x, response, client) } if has? :assignees
end

#closeObject

Via State Events



18
19
20
# File 'lib/labclient/issues/issue.rb', line 18

def close
  client.issues.update(project_id, iid, state_event: :close)
end

#closed_byObject



91
92
93
# File 'lib/labclient/issues/issue.rb', line 91

def closed_by
  client.issues.closed_by(project_id, iid)
end

#deleteObject



35
36
37
# File 'lib/labclient/issues/issue.rb', line 35

def delete
  client.issues.delete(project_id, iid)
end

#inspectObject



7
8
9
# File 'lib/labclient/issues/issue.rb', line 7

def inspect
  "#<Issue id: #{iid}, title: #{title}, state: #{state}>"
end

#move(target_id) ⇒ Object



39
40
41
# File 'lib/labclient/issues/issue.rb', line 39

def move(target_id)
  client.issues.move(project_id, iid, target_id)
end

#note_create(query) ⇒ Object



79
80
81
# File 'lib/labclient/issues/issue.rb', line 79

def note_create(query)
  client.notes.issues.create(project_id, iid, query)
end

#notesObject



75
76
77
# File 'lib/labclient/issues/issue.rb', line 75

def notes
  client.notes.issues.list(project_id, iid)
end

#participantsObject



71
72
73
# File 'lib/labclient/issues/issue.rb', line 71

def participants
  client.issues.participants(project_id, iid)
end

#projectObject



109
110
111
112
113
114
# File 'lib/labclient/issues/issue.rb', line 109

def project
  # If from List Project ID isn't stored
  project_id = collect_project_id if project_id.nil?

  client.projects.show(project_id)
end


87
88
89
# File 'lib/labclient/issues/issue.rb', line 87

def related_merge_requests
  client.issues.related_merge_requests(project_id, iid)
end

#reloadObject

Reload Helper



105
106
107
# File 'lib/labclient/issues/issue.rb', line 105

def reload
  update_self client.issues.show(project_id, iid)
end

#reopenObject

Via State Events



23
24
25
# File 'lib/labclient/issues/issue.rb', line 23

def reopen
  client.issues.update(project_id, iid, state_event: :reopen)
end

#reset_spent_timeObject



67
68
69
# File 'lib/labclient/issues/issue.rb', line 67

def reset_spent_time
  client.issues.reset_spent_time(project_id, iid)
end

#reset_time_estimateObject



63
64
65
# File 'lib/labclient/issues/issue.rb', line 63

def reset_time_estimate
  client.issues.reset_time_estimate(project_id, iid)
end

#resource_label(resource_event_id) ⇒ Object



100
101
102
# File 'lib/labclient/issues/issue.rb', line 100

def resource_label(resource_event_id)
  client.resource_labels.issues.show(project_id, iid, resource_event_id)
end

#resource_labelsObject

Resource Labels



96
97
98
# File 'lib/labclient/issues/issue.rb', line 96

def resource_labels
  client.resource_labels.issues.list(project_id, iid)
end

#subscribeObject



43
44
45
# File 'lib/labclient/issues/issue.rb', line 43

def subscribe
  client.issues.subscribe(project_id, iid)
end

#time_estimate(duration) ⇒ Object



59
60
61
# File 'lib/labclient/issues/issue.rb', line 59

def time_estimate(duration)
  client.issues.time_estimate(project_id, iid, duration)
end

#todoObject



51
52
53
# File 'lib/labclient/issues/issue.rb', line 51

def todo
  client.issues.todo(project_id, iid)
end

#unsubscribeObject



47
48
49
# File 'lib/labclient/issues/issue.rb', line 47

def unsubscribe
  client.issues.unsubscribe(project_id, iid)
end

#update(query) ⇒ Object



27
28
29
# File 'lib/labclient/issues/issue.rb', line 27

def update(query)
  client.issues.update(project_id, iid, query)
end