class GHI::Commands::Assign
Public Instance Methods
execute()
click to toggle source
# File lib/ghi/commands/assign.rb, line 27 def execute self.action = 'edit' assigns[:args] = [] require_repo extract_issue options.parse! args unless assigns.key? :assignee assigns[:assignee] = args.pop || Authorization.username end if assigns.key? :assignee assigns[:assignee].sub! /^@/, '' if assigns[:assignee] assigns[:args].concat( assigns[:assignee] ? %W(-u #{assigns[:assignee]}) : %w(--no-assign) ) end assigns[:args] << issue if issue assigns[:args].concat %W(-- #{repo}) case action when 'list' then List.execute assigns[:args] when 'edit' then Edit.execute assigns[:args] end end
options()
click to toggle source
# File lib/ghi/commands/assign.rb, line 4 def options OptionParser.new do |opts| opts.banner = <<EOF usage: ghi assign [options] [<issueno>] or: ghi assign <issueno> <user> or: ghi unassign <issueno> EOF opts.separator '' opts.on( '-u', '--assignee <user>', 'assign to specified user' ) do |assignee| assigns[:assignee] = assignee end opts.on '-d', '--no-assignee', 'unassign this issue' do assigns[:assignee] = nil end opts.on '-l', '--list', 'list assigned issues' do self.action = 'list' end opts.separator '' end end