Class: ActionDispatch::ParamBuilder
- Defined in:
 - actionpack/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 'actionpack/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 'actionpack/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 'actionpack/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 'actionpack/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 'actionpack/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 'actionpack/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  |