Class: Gish::Runner
- Inherits:
-
Thor
- Object
- Thor
- Gish::Runner
- Defined in:
- lib/gish/runner.rb
Instance Method Summary collapse
- #assign(issue_number, user_login) ⇒ Object
- #assignees ⇒ Object
- #browse(issue_number = nil) ⇒ Object
- #close(issue_number) ⇒ Object
- #comment(issue_number) ⇒ Object
- #edit(issue_number) ⇒ Object
-
#initialize(*args) ⇒ Runner
constructor
A new instance of Runner.
- #label(issue_number, label, *more_labels) ⇒ Object
- #list(count = 20) ⇒ Object
- #open(title) ⇒ Object
- #reopen(issue_number) ⇒ Object
- #show(issue_number) ⇒ Object
- #unassign(issue_number) ⇒ Object
- #unlabel(issue_number, label, *more_labels) ⇒ Object
- #version ⇒ Object
Constructor Details
#initialize(*args) ⇒ Runner
Returns a new instance of Runner.
13 14 15 16 17 |
# File 'lib/gish/runner.rb', line 13 def initialize(*args) super return unless .repository? && .repository != 'repository' Gish.repository = .repository end |
Instance Method Details
#assign(issue_number, user_login) ⇒ Object
88 89 90 91 92 |
# File 'lib/gish/runner.rb', line 88 def assign(issue_number, user_login) return Gish.assign(issue_number, user_login) if Gish.is_collaborator?(user_login) puts "#{user_login} is not a collaborator on #{Gish.repository}" end |
#assignees ⇒ Object
83 84 85 |
# File 'lib/gish/runner.rb', line 83 def assignees puts Gish.list_assignees end |
#browse(issue_number = nil) ⇒ Object
78 79 80 |
# File 'lib/gish/runner.rb', line 78 def browse(issue_number=nil) Gish.browse(issue_number) end |
#close(issue_number) ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/gish/runner.rb', line 64 def close(issue_number) return unless .force? || . || confirm("Are you sure you want to close issue ##{issue_number} (y/n)... ") = capture_editor_input if . && . == 'message' ||= . Gish.comment(issue_number, ) if . Gish.close(issue_number) end |
#comment(issue_number) ⇒ Object
37 38 39 40 41 |
# File 'lib/gish/runner.rb', line 37 def comment(issue_number) = capture_editor_input unless . || . == 'message' ||= . Gish.comment(issue_number, ) end |
#edit(issue_number) ⇒ Object
113 114 115 116 117 118 119 |
# File 'lib/gish/runner.rb', line 113 def edit(issue_number) issue = Gish.show(issue_number) = capture_editor_input(issue.body) title = .title unless .nil? and .title.nil? title ||= issue.title Gish.edit(issue_number, title, ) end |
#label(issue_number, label, *more_labels) ⇒ Object
23 24 25 |
# File 'lib/gish/runner.rb', line 23 def label(issue_number, label, *more_labels) Gish.label(issue_number, label, more_labels) end |
#list(count = 20) ⇒ Object
46 47 48 49 50 51 |
# File 'lib/gish/runner.rb', line 46 def list(count=20) args = {:per_page => count} args[:state] = 'closed' if .closed? args[:direction] = 'asc' if .order == 'asc' puts Gish.list(args) end |
#open(title) ⇒ Object
103 104 105 106 107 108 109 |
# File 'lib/gish/runner.rb', line 103 def open(title) labels = (.labels || []).map{|l| l.strip } = capture_editor_input unless . && . != 'message' ||= . assignee = .assignee Gish.create(title, , labels, assignee) end |
#reopen(issue_number) ⇒ Object
73 74 75 |
# File 'lib/gish/runner.rb', line 73 def reopen(issue_number) Gish.reopen(issue_number) end |
#show(issue_number) ⇒ Object
55 56 57 58 59 |
# File 'lib/gish/runner.rb', line 55 def show(issue_number) puts Gish.show(issue_number) puts "\n" puts Gish.comments(issue_number) if .include_comments? end |
#unassign(issue_number) ⇒ Object
95 96 97 |
# File 'lib/gish/runner.rb', line 95 def unassign(issue_number) Gish.unassign(issue_number) end |