Class: ActionDispatch::Request::Utils::CustomParamEncoder
- Inherits:
-
Object
- Object
- ActionDispatch::Request::Utils::CustomParamEncoder
- Defined in:
- lib/action_dispatch/request/utils.rb
Overview
:nodoc:
Class Method Summary collapse
-
.action_encoding_template(request, controller, action) ⇒ Object
:nodoc:.
- .encode(request, params, controller, action) ⇒ Object
Class Method Details
.action_encoding_template(request, controller, action) ⇒ Object
:nodoc:
101 102 103 104 105 |
# File 'lib/action_dispatch/request/utils.rb', line 101 def self.action_encoding_template(request, controller, action) # :nodoc: request.controller_class_for(controller).action_encoding_template(action) rescue MissingController nil end |
.encode(request, params, controller, action) ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/action_dispatch/request/utils.rb', line 86 def self.encode(request, params, controller, action) return params unless controller && controller.valid_encoding? && encoding_template = action_encoding_template(request, controller, action) params.except(:controller, :action).each do |key, value| ActionDispatch::Request::Utils.each_param_value(value) do |param| # If `param` is frozen, it comes from the router defaults next if param.frozen? if encoding_template[key.to_s] param.force_encoding(encoding_template[key.to_s]) end end end params end |