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