Skip to Content Skip to Search
Methods
F
I
M
N

Attributes

[R] param_depth_limit

Class Public methods

ignore_leading_brackets()

# File actionpack/lib/action_dispatch/http/param_builder.rb, line 25
      def ignore_leading_brackets
        ActionDispatch.deprecator.warn <<~MSG
          ActionDispatch::ParamBuilder.ignore_leading_brackets is deprecated and have no effect and will be removed in Rails 8.2.
        MSG

        @ignore_leading_brackets
      end

ignore_leading_brackets=(value)

# File actionpack/lib/action_dispatch/http/param_builder.rb, line 33
      def ignore_leading_brackets=(value)
        ActionDispatch.deprecator.warn <<~MSG
          ActionDispatch::ParamBuilder.ignore_leading_brackets is deprecated and have no effect and will be removed in Rails 8.2.
        MSG

        @ignore_leading_brackets = value
      end

make_default(param_depth_limit)

– This implementation is based on Rack::QueryParser, Copyright © 2007-2021 Leah Neukirchen <leahneukirchen.org/infopage.html>

# File actionpack/lib/action_dispatch/http/param_builder.rb, line 9
def self.make_default(param_depth_limit)
  new param_depth_limit
end

new(param_depth_limit)

# File actionpack/lib/action_dispatch/http/param_builder.rb, line 15
def initialize(param_depth_limit)
  @param_depth_limit = param_depth_limit
end

Instance Public methods

from_hash(hash, encoding_template: nil)

# File actionpack/lib/action_dispatch/http/param_builder.rb, line 62
def from_hash(hash, encoding_template: nil)
  # Force encodings from encoding template
  hash = Request::Utils::CustomParamEncoder.encode_for_template(hash, encoding_template)

  # Assert valid encoding
  Request::Utils.check_param_encoding(hash)

  # Convert hashes to HWIA (or UploadedFile), and deep-munge nils
  # out of arrays
  hash = Request::Utils.normalize_encode_params(hash)

  hash
end

from_pairs(pairs, encoding_template: nil)

# File actionpack/lib/action_dispatch/http/param_builder.rb, line 46
def from_pairs(pairs, encoding_template: nil)
  params = make_params

  pairs.each do |k, v|
    if Hash === v
      v = ActionDispatch::Http::UploadedFile.new(v)
    end

    store_nested_param(params, k, v, 0, encoding_template)
  end

  params
rescue ArgumentError => e
  raise InvalidParameterError, e.message, e.backtrace
end

from_query_string(qs, separator: nil, encoding_template: nil)

# File actionpack/lib/action_dispatch/http/param_builder.rb, line 42
def from_query_string(qs, separator: nil, encoding_template: nil)
  from_pairs QueryParser.each_pair(qs, separator), encoding_template: encoding_template
end