def redefine_commands(lib, commands)
      option_commands = lib.command_objects(commands).select(&:option_command?)
      accepted, rejected = option_commands.partition {|e|
        e.args(lib) || e.arg_size }
      if verbose && rejected.size > 0
        puts "Following commands cannot have options until their arguments " +
          "are configured: " + rejected.map {|e| e.name}.join(', ')
      end
      accepted.each {|cmd| Scientist.redefine_command(lib.namespace_object, cmd) }
    end
def redefine_commands(lib, commands)
      option_commands = lib.command_objects(commands).select(&:option_command?)
      accepted, rejected = option_commands.partition {|e|
        e.args(lib) || e.arg_size }
      if verbose && rejected.size > 0
        puts "Following commands cannot have options until their arguments " +
          "are configured: " + rejected.map {|e| e.name}.join(', ')
      end
      accepted.each {|cmd| Scientist.redefine_command(lib.namespace_object, cmd) }
    end
Redefines commands