set (Capistrano::Configuration::Variables)

    # File lib/capistrano/configuration/variables.rb, line 20
          def set(variable, *args, &block)
            if variable.to_s !~ /^[_a-z]/
              raise ArgumentError, "invalid variable `#{variable}' (variables must begin with an underscore, or a lower-case letter)"
            end

            if !block_given? && args.empty? || block_given? && !args.empty?
              raise ArgumentError, "you must specify exactly one of either a value or a block"
            end

            if args.length > 1
              raise ArgumentError, "wrong number of arguments (#{args.length} for 1)"
            end

            value = args.empty? ? block : args.first
            sym = variable.to_sym
            protect(sym) { @variables[sym] = value }
          end