Module: Issue
- Included in:
- GitlabKernel
- Defined in:
- lib/git/gitlab/issue.rb
Instance Method Summary collapse
- #_issues(list, pid, page, per_page) ⇒ Object
- #all_issues(pid, page, per_page) ⇒ Object
- #issue(id) ⇒ Object
Instance Method Details
#_issues(list, pid, page, per_page) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/git/gitlab/issue.rb', line 19 def _issues(list, pid, page, per_page) i = @client.issues(pid, :page => page, :per_page => per_page) if i.count < per_page list + i else _issues(list + i, pid, page + 1, per_page) end end |
#all_issues(pid, page, per_page) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/git/gitlab/issue.rb', line 18 def all_issues(pid, page, per_page) def _issues(list, pid, page, per_page) i = @client.issues(pid, :page => page, :per_page => per_page) if i.count < per_page list + i else _issues(list + i, pid, page + 1, per_page) end end i = @client.issues(pid, :page => page, :per_page => per_page) if i.count < per_page i else _issues(i, pid, page + 1, per_page) end end |
#issue(id) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/git/gitlab/issue.rb', line 8 def issue(id) pid = @repository.config["gitlab.projectid"].to_i if pid == 0 raise "Please set 'git config gitlab.projectid ${Gitlab Project id}'" end per_page = 100 page = 1 def all_issues(pid, page, per_page) def _issues(list, pid, page, per_page) i = @client.issues(pid, :page => page, :per_page => per_page) if i.count < per_page list + i else _issues(list + i, pid, page + 1, per_page) end end i = @client.issues(pid, :page => page, :per_page => per_page) if i.count < per_page i else _issues(i, pid, page + 1, per_page) end end issues = all_issues(pid, page, per_page) specfied_issue = issues.select { |issue| issue.iid == id.to_i }.first if specfied_issue == nil raise GitlabKernel::Error::IssueNotFound, "Issue not find" else specfied_issue end end |