module Breezy::Redirection

Public Instance Methods

_compute_redirect_to_location(request, options) click to toggle source
Calls superclass method
# File lib/breezy/redirection.rb, line 3
def _compute_redirect_to_location(request, options)
  computed_location = URI.parse(super)
  next_param = Rack::Utils
      .parse_nested_query(computed_location.query)

  if request.params[:__] == "0"
    computed_location.query = next_param.merge({__: "0"}).to_query
  end

  computed_location.to_s
end
redirect_back_with_bzq(opts) click to toggle source
# File lib/breezy/redirection.rb, line 15
def redirect_back_with_bzq(opts)
  if request.referrer && params[:bzq]
    referrer_url = URI.parse(request.referrer)
    referrer_url.query = Rack::Utils
      .parse_nested_query(referrer_url.query)
      .merge({bzq: params[:bzq]})
      .to_query

    redirect_to referrer_url.to_s, opts
  else
    redirect_back(opts)
  end
end