class Gissuel::Issues
Constants
- TOKEN
Public Class Methods
new(label, repo, verbose, index)
click to toggle source
# File lib/gissuel/issues.rb, line 6 def initialize(label, repo, verbose, index) @verbose = verbose @label = label @repo = repo @state = "open" @index = index end
Public Instance Methods
publish()
click to toggle source
# File lib/gissuel/issues.rb, line 14 def publish handle_issues(desired_issues) end
Private Instance Methods
client()
click to toggle source
# File lib/gissuel/issues.rb, line 20 def client @connection ||= Octokit::Client.new(:access_token => TOKEN, :auto_paginate => true) end
comments_report(issue)
click to toggle source
# File lib/gissuel/issues.rb, line 72 def comments_report(issue) general_info = "No of comments: #{issue.comments} | Updated at: #{issue.updated_at}" # comment_autor_requested? ? [general, comment_author(issue)].join(" | ") : general issue.comments.nonzero? && @verbose ? [general_info, last_comment_author(issue)].join(" | ") : general_info end
desired_issues()
click to toggle source
# File lib/gissuel/issues.rb, line 29 def desired_issues issues = client.list_issues( @repo, options = { :assignee => my_login, :labels => @label, :state => @state } ) @index.zero? ? issues : [issues[@index - 1]] end
handle_issues(issues)
click to toggle source
# File lib/gissuel/issues.rb, line 42 def handle_issues(issues) case issues.count when 0 Gissuel::Log.new("\nGissuel: π β βΊοΈ").grey when 1 if @index.zero? then Gissuel::Log.new("π there is one issue on your π½οΈ.").red Gissuel::Log.new("β here is quick look at it:\n").grey report_issue(issues.first, @index + 1) else Gissuel::Log.new("β here is quick look at the issue:\n").grey report_issue(issues.first, @index) end else Gissuel::Log.new("π there are #{issues.count} issues on your π½οΈ.").red Gissuel::Log.new("β here is quick look at these:\n").grey issues.each_with_index do |issue, index| report_issue(issue, index + 1) end end end
my_login()
click to toggle source
# File lib/gissuel/issues.rb, line 25 def my_login client.user.login end
report_issue(issue, index)
click to toggle source
# File lib/gissuel/issues.rb, line 65 def report_issue(issue, index) Gissuel::Log.new("[#{index}]: #{issue.title}").yellow Gissuel::Log.new("URL: #{issue.html_url}").blue Gissuel::Log.new("DESCRIPTION: #{issue.body}").grey if @verbose Gissuel::Log.new(comments_report(issue)).green end