namespace (Capistrano::Configuration::Namespaces)

    # File lib/capistrano/configuration/namespaces.rb, line 65
          def namespace(name, &block)
            name = name.to_sym
            raise ArgumentError, "expected a block" unless block_given?

            namespace_already_defined = namespaces.key?(name)
            if all_methods.any? { |m| m.to_sym == name } && !namespace_already_defined
              thing = tasks.key?(name) ? "task" : "method"
              raise ArgumentError, "defining a namespace named `#{name}' would shadow an existing #{thing} with that name"
            end

            namespaces[name] ||= Namespace.new(name, self)
            namespaces[name].instance_eval(&block)

            # make sure any open description gets terminated
            namespaces[name].desc(nil)

            if !namespace_already_defined
              metaclass = class << self; self; end
              metaclass.send(:define_method, name) { namespaces[name] }
            end
          end