Parse :arguments_required as part of the options of a command.

This commit is contained in:
Rob Gleeson 2011-05-11 11:28:41 +01:00
parent 7815897507
commit ac63605180
1 changed files with 8 additions and 3 deletions

View File

@ -137,12 +137,17 @@ class Pry
# @raise [NoCommandError] If the command is not defined in this set
def run_command(context, name, *args)
context.extend helper_module
command = commands[name]
if command = commands[name]
command.call(context, *args)
else
if command.nil?
raise NoCommandError.new(name, self)
end
if args.size < command.options[:arguments_required].to_i
puts "The command '#{command.name}' requires #{command.options[:arguments_required]} argument(s)."
else
command.call(context, *args)
end
end
# Sets the description for a command (replacing the old