Method: VMC::Cli::Runner#set_cmd

Defined in:
lib/cli/runner.rb

#set_cmd(namespace, action, args_range = 0) ⇒ Object



131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'lib/cli/runner.rb', line 131

def set_cmd(namespace, action, args_range=0)
  return if @help_only
  unless args_range == "*" || args_range.is_a?(Range)
    args_range = (args_range.to_i..args_range.to_i)
  end

  if args_range == "*" || args_range.include?(@args.size)
    @namespace = namespace
    @action    = action
  else
    @exit_status = false
    if @args.size > args_range.last
      usage_error("Too many arguments for [#{action}]: %s" % [ @args[args_range.last..-1].map{|a| "'#{a}'"}.join(', ') ])
    else
      usage_error("Not enough arguments for [#{action}]")
    end
  end
end