# File lib/rye/cmd.rb, line 344 344: def Cmd.add_command(meth, path=nil, *hard_args, &block) 345: if block 346: hard_args.unshift(path) unless path.nil? # Don't lose an argument 347: define_method(meth) do |*args| 348: local_args = hard_args.clone 349: local_args += args 350: block.call(*local_args) 351: end 352: else 353: path ||= meth.to_s 354: define_method(meth) do |*args| 355: local_args = hard_args.clone 356: local_args += args 357: run_command(path, *local_args) 358: end 359: end 360: end