Class: Issues

Inherits:
Object
  • Object
show all
Defined in:
lib/github/issues/issues.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(github) ⇒ Issues

Returns a new instance of Issues.



4
5
6
7
8
9
10
# File 'lib/github/issues/issues.rb', line 4

def initialize(github)
  @github = github
  @comments = IssuesComments.new(github)
  @events = IssuesEvents.new(github)
  @labels = IssuesLabels.new(github)
  @milestones = IssuesMilestones.new(github)
end

Instance Attribute Details

#eventsObject

Returns the value of attribute events.



2
3
4
# File 'lib/github/issues/issues.rb', line 2

def events
  @events
end

#githubObject

Returns the value of attribute github.



2
3
4
# File 'lib/github/issues/issues.rb', line 2

def github
  @github
end

#labelsObject

Returns the value of attribute labels.



2
3
4
# File 'lib/github/issues/issues.rb', line 2

def labels
  @labels
end

#milestonesObject

Returns the value of attribute milestones.



2
3
4
# File 'lib/github/issues/issues.rb', line 2

def milestones
  @milestones
end

Instance Method Details

#createIssue(repo, title, body: nil, assignee: nil, milestone: nil, labels: nil, user: nil) ⇒ Object



52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/github/issues/issues.rb', line 52

def createIssue(repo, title, body: nil, assignee: nil,
    milestone: nil, labels: nil, user: nil)
  username = user == nil ? @github.username : user
  params = {
    title: title,
    body: body,
    assignee: assignee,
    milestone: milestone,
    labels: labels
  }
  params = @github.removeEmptyParams(params)
  data = params.to_json
  @github.post('repos/%s/%s/issues' % [username, repo], data)
end

#editIssue(repo, id, title: nil, body: nil, assignee: nil, state: nil, milestone: nil, labels: nil, user: nil) ⇒ Object



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/github/issues/issues.rb', line 67

def editIssue(repo, id, title: nil, body: nil, assignee: nil,
    state: nil, milestone: nil, labels: nil, user: nil)
  username = user == nil ? @github.username : user
  params = {
    title: title,
    body: body,
    assignee: assignee,
    state: state,
    milestone: milestone,
    labels: labels
  }
  params = @github.removeEmptyParams(params)
  data = params.to_json
  @github.post('repos/%s/%s/issues/%s' % [username, repo, id], data)
end

#getIssue(repo, number, user: nil) ⇒ Object



47
48
49
50
# File 'lib/github/issues/issues.rb', line 47

def getIssue(repo, number, user: nil)
  username = user == nil ? @github.username : user
  @github.get('repos/%s/%s/issues/%s' % [username, repo, number])
end

#listIssues(filter: 'all', state: 'open', labels: nil, sort: 'created', direction: 'desc', since: nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/github/issues/issues.rb', line 12

def listIssues(filter: 'all', state: 'open', labels: nil,
    sort: 'created', direction: 'desc', since: nil)
  params = {
    filter: filter,
    state: state,
    labels: labels,
    sort: sort,
    direction: direction,
    since: since
  }
  params = @github.removeEmptyParams(params)
  url = 'issues?%s' % @github.parameterize(params)
  @github.get(url)
end

#listRepoIssues(repo, milestone: nil, assignee: nil, mentioned: nil, state: 'open', labels: nil, sort: 'created', direction: 'desc', since: nil, user: nil, filter: 'all', page: nil) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/github/issues/issues.rb', line 27

def listRepoIssues(repo, milestone: nil, assignee: nil,
    mentioned: nil, state: 'open', labels: nil,
    sort: 'created', direction: 'desc', since: nil,
    user: nil, filter: 'all', page: nil)
  params = {
    filter: filter,
    state: state,
    assignee: assignee,
    mentioned: mentioned,
    labels: labels,
    sort: sort,
    direction: direction,
    since: since,
    milestone: milestone
  }
  params = @github.removeEmptyParams(params)
  url = 'repos/%s/%s/issues?%s' % [user, repo, @github.parameterize(params)]
  @github.get(url)
end