Class: Geet::GitHub::AbstractIssue

Inherits:
Object
  • Object
show all
Defined in:
lib/geet/git_hub/abstract_issue.rb

Overview

For clarity, in this class we keep only the identical logic between the subclasses, but other methods could be moved in here at some complexity cost.

Direct Known Subclasses

Issue, PR

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(repository, issue_number, api_helper) ⇒ AbstractIssue

Returns a new instance of AbstractIssue.



10
11
12
13
14
# File 'lib/geet/git_hub/abstract_issue.rb', line 10

def initialize(repository, issue_number, api_helper)
  @repository = repository
  @issue_number = issue_number
  @api_helper = api_helper
end

Instance Attribute Details

#issue_numberObject (readonly)

Returns the value of attribute issue_number.



8
9
10
# File 'lib/geet/git_hub/abstract_issue.rb', line 8

def issue_number
  @issue_number
end

Instance Method Details

#add_labels(labels) ⇒ Object



26
27
28
29
30
31
# File 'lib/geet/git_hub/abstract_issue.rb', line 26

def add_labels(labels)
  request_data = labels
  request_address = "#{@api_helper.repo_link}/issues/#{@issue_number}/labels"

  @api_helper.send_request(request_address, data: request_data)
end

#assign_user(users) ⇒ Object

params:

users:   String, or Array of strings.


19
20
21
22
23
24
# File 'lib/geet/git_hub/abstract_issue.rb', line 19

def assign_user(users)
  request_data = { assignees: Array(users) }
  request_address = "#{@api_helper.repo_link}/issues/#{@issue_number}/assignees"

  @api_helper.send_request(request_address, data: request_data)
end