Class: ActionDispatch::ParamBuilder
- Inherits:
-
Object
- Object
- ActionDispatch::ParamBuilder
- Defined in:
- lib/action_dispatch/http/param_builder.rb
Constant Summary collapse
Instance Attribute Summary collapse
-
#param_depth_limit ⇒ Object
readonly
Returns the value of attribute param_depth_limit.
Class Method Summary collapse
-
.make_default(param_depth_limit) ⇒ Object
– This implementation is based on Rack::QueryParser, Copyright © 2007-2021 Leah Neukirchen <leahneukirchen.org/infopage.html>.
Instance Method Summary collapse
- #from_hash(hash, encoding_template: nil) ⇒ Object
- #from_pairs(pairs, encoding_template: nil) ⇒ Object
- #from_query_string(qs, separator: nil, encoding_template: nil) ⇒ Object
-
#initialize(param_depth_limit) ⇒ ParamBuilder
constructor
A new instance of ParamBuilder.
Constructor Details
#initialize(param_depth_limit) ⇒ ParamBuilder
Returns a new instance of ParamBuilder.
15 16 17 |
# File 'lib/action_dispatch/http/param_builder.rb', line 15 def initialize(param_depth_limit) @param_depth_limit = param_depth_limit end |
Instance Attribute Details
#param_depth_limit ⇒ Object (readonly)
Returns the value of attribute param_depth_limit.
13 14 15 |
# File 'lib/action_dispatch/http/param_builder.rb', line 13 def param_depth_limit @param_depth_limit end |
Class Method Details
.make_default(param_depth_limit) ⇒ Object
– This implementation is based on Rack::QueryParser, Copyright © 2007-2021 Leah Neukirchen <leahneukirchen.org/infopage.html>
9 10 11 |
# File 'lib/action_dispatch/http/param_builder.rb', line 9 def self.make_default(param_depth_limit) new param_depth_limit end |
Instance Method Details
#from_hash(hash, encoding_template: nil) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/action_dispatch/http/param_builder.rb', line 50 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) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/action_dispatch/http/param_builder.rb', line 34 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., e.backtrace end |
#from_query_string(qs, separator: nil, encoding_template: nil) ⇒ Object
30 31 32 |
# File 'lib/action_dispatch/http/param_builder.rb', line 30 def from_query_string(qs, separator: nil, encoding_template: nil) from_pairs QueryParser.each_pair(qs, separator), encoding_template: encoding_template end |