Class: Gub::Issue

Inherits:
Object
  • Object
show all
Defined in:
lib/gub/issue.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parent, id) ⇒ Issue

Returns a new instance of Issue.



10
11
12
13
14
# File 'lib/gub/issue.rb', line 10

def initialize parent, id
  self.parent = parent
  self.id = id
  self.info = Gub.github.issue(self.parent, self.id)
end

Instance Attribute Details

#idObject

Returns the value of attribute id.



3
4
5
# File 'lib/gub/issue.rb', line 3

def id
  @id
end

#infoObject

Returns the value of attribute info.



3
4
5
# File 'lib/gub/issue.rb', line 3

def info
  @info
end

#parentObject

Returns the value of attribute parent.



3
4
5
# File 'lib/gub/issue.rb', line 3

def parent
  @parent
end

Class Method Details

.all(parent, params = {}) ⇒ Object



6
7
8
# File 'lib/gub/issue.rb', line 6

def self.all parent, params = {}
  Gub.github.issues(parent params)
end

Instance Method Details

#assign(login = nil) ⇒ Object



40
41
42
43
# File 'lib/gub/issue.rb', line 40

def assign  = nil
  assignee =  || Gub.github.user.
  Gub.github.update_issue self.parent, self.id, self.info[:title], self.info[:body], { assignee: assignee }
end

#assigneeObject



36
37
38
# File 'lib/gub/issue.rb', line 36

def assignee
  self.info[:user]
end

#branchObject



45
46
47
# File 'lib/gub/issue.rb', line 45

def branch
  "issue-#{self.id}"
end

#closeObject



24
25
26
# File 'lib/gub/issue.rb', line 24

def close
  Gub.github.close_issue(self.parent, self.id)
end

#comment(body) ⇒ Object



28
29
30
# File 'lib/gub/issue.rb', line 28

def comment body
  Gub.github.add_comment(self.parent, self.id, body)
end

#commentsObject



32
33
34
# File 'lib/gub/issue.rb', line 32

def comments
  Gub.github.issue_comments(self.parent, self.id)
end

#reopenObject



20
21
22
# File 'lib/gub/issue.rb', line 20

def reopen
  Gub.github.reopen_issue(self.parent, self.id)
end

#repositoryObject



16
17
18
# File 'lib/gub/issue.rb', line 16

def repository
  Gub::Repository.new(self.parent)
end

#request_pullObject



49
50
51
# File 'lib/gub/issue.rb', line 49

def request_pull
  Gub.github.create_pull_request_for_issue(self.parent, 'master', "#{Gub.current_user}:#{self.branch}", self.id)
end