Class: StimulusReflex::RequestParameters

Inherits:
Object
  • Object
show all
Defined in:
lib/stimulus_reflex/request_parameters.rb

Instance Method Summary collapse

Constructor Details

#initialize(params:, req:, url:) ⇒ RequestParameters

Returns a new instance of RequestParameters.



5
6
7
8
9
# File 'lib/stimulus_reflex/request_parameters.rb', line 5

def initialize(params:, req:, url:)
  @params = params
  @req = req
  @url = url
end

Instance Method Details

#apply!Object



11
12
13
14
15
16
17
18
19
# File 'lib/stimulus_reflex/request_parameters.rb', line 11

def apply!
  path_params = Rails.application.routes.recognize_path_with_request(@req, @url, @req.env[:extras] || {})
  path_params[:controller] = path_params[:controller].force_encoding("UTF-8")
  path_params[:action] = path_params[:action].force_encoding("UTF-8")

  @req.env.merge(ActionDispatch::Http::Parameters::PARAMETERS_KEY => path_params)
  @req.env["action_dispatch.request.parameters"] = @req.parameters.merge(@params)
  @req.tap { |r| r.session.send :load! }
end