module Gish::Commands::Issue
Public Instance Methods
assign(issue_number, user_login)
click to toggle source
# File lib/gish/commands/issue.rb, line 54 def assign(issue_number, user_login) options = {:assignee => user_login} issue = request { client.issue(Gish.repository, issue_number) } request { client.update_issue(Gish.repository, issue_number, issue.title, issue.body, options) } end
browse(issue_number=nil)
click to toggle source
# File lib/gish/commands/issue.rb, line 65 def browse(issue_number=nil) command = "#{Gish.browser} '#{Gish.github_url}/issues/#{issue_number}'" %x{#{command}} end
close(issue_number, comment=nil)
click to toggle source
# File lib/gish/commands/issue.rb, line 28 def close(issue_number, comment=nil) request { client.close_issue(Gish.repository, issue_number)} end
comment(issue_number, comment)
click to toggle source
# File lib/gish/commands/issue.rb, line 37 def comment(issue_number, comment) request { client.add_comment(Gish.repository, issue_number, comment) } end
comments(issue_number)
click to toggle source
# File lib/gish/commands/issue.rb, line 32 def comments(issue_number) comments = request { client.issue_comments(Gish.repository, issue_number) } comments.map {|c| Gish::Comment.new(c) } end
create(title, body, labels=[], assignee)
click to toggle source
# File lib/gish/commands/issue.rb, line 18 def create(title, body, labels=[], assignee) options = {:labels => labels} options.merge!({:assignee => assignee}) unless assignee.nil? request { client.create_issue(Gish.repository, title, body, options) } end
edit(issue_number, title, body)
click to toggle source
# File lib/gish/commands/issue.rb, line 24 def edit(issue_number, title, body) request { client.update_issue(Gish.repository, issue_number, title, body, {}) } end
label(issue_number, label, labels=[])
click to toggle source
# File lib/gish/commands/issue.rb, line 41 def label(issue_number, label, labels=[]) labels << label sanitized_labels = labels.map{|l| l.strip } request { client.add_labels_to_an_issue(Gish.repository, issue_number, sanitized_labels) } end
list(options)
click to toggle source
# File lib/gish/commands/issue.rb, line 4 def list(options) issues = request { client.issues(Gish.repository, options) } issues.map {|i| Gish::Issue.new(i).headline } end
reopen(issue_number)
click to toggle source
# File lib/gish/commands/issue.rb, line 14 def reopen(issue_number) request { client.reopen_issue(Gish.repository, issue_number) } end
show(issue_number)
click to toggle source
# File lib/gish/commands/issue.rb, line 9 def show(issue_number) issue = request { client.issue(Gish.repository, issue_number) } Gish::Issue.new(issue) if issue end
unassign(issue_number)
click to toggle source
# File lib/gish/commands/issue.rb, line 60 def unassign(issue_number) issue = request { client.issue(Gish.repository, issue_number) } request { client.update_issue(Gish.repository, issue_number, issue.title, issue.body, {:assignee => ''}) } end
unlabel(issue_number, label, labels=[])
click to toggle source
# File lib/gish/commands/issue.rb, line 47 def unlabel(issue_number, label, labels=[]) labels << label labels.each do |l| request { client.remove_label(Gish.repository, issue_number, l.strip) } end end