Class: ActionDispatch::Request::Utils::CustomParamEncoder
- Defined in:
- actionpack/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
- .encode_for_template(params, encoding_template) ⇒ Object
Class Method Details
.action_encoding_template(request, controller, action) ⇒ Object
:nodoc:
106 107 108 109 110 111 |
# File 'actionpack/lib/action_dispatch/request/utils.rb', line 106 def self.action_encoding_template(request, controller, action) # :nodoc: controller && controller.valid_encoding? && request.controller_class_for(controller).action_encoding_template(action) rescue MissingController nil end |
.encode(request, params, controller, action) ⇒ Object
101 102 103 104 |
# File 'actionpack/lib/action_dispatch/request/utils.rb', line 101 def self.encode(request, params, controller, action) encoding_template = action_encoding_template(request, controller, action) encode_for_template(params, encoding_template) end |
.encode_for_template(params, encoding_template) ⇒ Object
86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'actionpack/lib/action_dispatch/request/utils.rb', line 86 def self.encode_for_template(params, encoding_template) return params unless encoding_template 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 |