Module: GovukPersonalisation::Redirect

Defined in:
lib/govuk_personalisation/redirect.rb

Class Method Summary collapse

Class Method Details

.build_url(base_url, additional_params = {}) ⇒ String

Builds a URL with additional query parameters

Allows for a simple method call to add params on to an existing URL, for instance when adding _ga tracking params to a redirect

Parameters:

  • base_url (String)

    The URL to attach additional parameters to

  • optional

    additional_params [Hash=> String] additional parameters to be added to the URL. If empty, returns the base URL.

Returns:

  • (String)

    a new URL with additional parameters



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/govuk_personalisation/redirect.rb', line 12

def self.build_url(base_url, additional_params = {})
  return base_url if additional_params.empty?

  additional_query = additional_params.to_a.map { |param| param.join("=") }.join("&")

  if base_url.include? "?"
    "#{base_url}&#{additional_query}"
  else
    "#{base_url}?#{additional_query}"
  end
end