Module: Decidim::Routes::LocaleRedirects

Defined in:
lib/decidim/routes/locale_redirects.rb

Instance Method Summary collapse

Instance Method Details

#locale_redirect(params, request, path, preserve_query_string: true) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/decidim/routes/locale_redirects.rb', line 19

def locale_redirect(params, request, path, preserve_query_string: true)
  locale = Decidim::LocaleRouterDetector.new(request, params).locale
  destination = append_locale(path, locale)
  destination = append_query_string(destination, request) if preserve_query_string

  destination
end

#locale_redirector(path, preserve_query_string: true) ⇒ Object



13
14
15
16
17
# File 'lib/decidim/routes/locale_redirects.rb', line 13

def locale_redirector(path, preserve_query_string: true)
  lambda do |params, request|
    locale_redirect(params, request, path, preserve_query_string:)
  end
end

#locale_scope_optionsObject



6
7
8
9
10
11
# File 'lib/decidim/routes/locale_redirects.rb', line 6

def locale_scope_options
  {
    defaults: { locale: Decidim.default_locale },
    constraints: { locale: Regexp.union(I18n.available_locales.map(&:to_s)) }
  }
end