Sha256: 85ada712868762bce41248dab41db55eef06561d5ffc59f508f7cf9109dc7635

Contents?: true

Size: 702 Bytes

Versions: 6

Compression:

Stored size: 702 Bytes

Contents

# frozen_string_literal: true

module StimulusReflex
  class RequestParameters
    def initialize(params:, req:, url:)
      @params = params
      @req = req
      @url = url
    end

    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
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
stimulus_reflex-3.5.3 lib/stimulus_reflex/request_parameters.rb
stimulus_reflex-3.5.0.rc4 lib/stimulus_reflex/request_parameters.rb
stimulus_reflex-3.5.0.rc3 lib/stimulus_reflex/request_parameters.rb
stimulus_reflex-3.5.0.rc2 lib/stimulus_reflex/request_parameters.rb
stimulus_reflex-3.5.0.rc1 lib/stimulus_reflex/request_parameters.rb
stimulus_reflex-3.5.0.pre10 lib/stimulus_reflex/request_parameters.rb