Class: Gish::Runner

Inherits:
Thor
  • Object
show all
Defined in:
lib/gish/runner.rb

Instance Method Summary collapse

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 options.repository? && options.repository != 'repository'
  Gish.repository = options.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, )
  return Gish.assign(issue_number, ) if Gish.is_collaborator?()

  puts "#{} is not a collaborator on #{Gish.repository}"
end

#assigneesObject



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 options.force? || options.message? || confirm("Are you sure you want to close issue ##{issue_number} (y/n)... ")
  message = capture_editor_input if options.message? && options.message == 'message'
  message ||= options.message
  Gish.comment(issue_number, message) if options.message?
  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)
  message = capture_editor_input unless options.message? || options.message == 'message'
  message ||= options.message
  Gish.comment(issue_number, message)
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)
  message = capture_editor_input(issue.body)
  title = options.title unless options.nil? and options.title.nil?
  title ||= issue.title
  Gish.edit(issue_number, title, message)
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 options.closed?
  args[:direction] = 'asc' if options.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 = (options.labels || []).map{|l| l.strip }
  message = capture_editor_input unless options.message? && options.message != 'message'
  message ||= options.message
  assignee = options.assignee
  Gish.create(title, message, 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 options.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

#unlabel(issue_number, label, *more_labels) ⇒ Object



28
29
30
# File 'lib/gish/runner.rb', line 28

def unlabel(issue_number, label, *more_labels)
  Gish.unlabel(issue_number, label, more_labels)
end

#versionObject



122
123
124
# File 'lib/gish/runner.rb', line 122

def version
  puts "v#{Gish::VERSION}"
end