Module: Breezy::Redirection

Included in:
Controller
Defined in:
lib/breezy/redirection.rb

Instance Method Summary collapse

Instance Method Details

#_compute_redirect_to_location(request, options) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# 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) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
# 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