Sha256: 4607e7180af5f17894ca785fcd99c8fb18953bed2e379321b9111e21f90442ef

Contents?: true

Size: 913 Bytes

Versions: 94

Compression:

Stored size: 913 Bytes

Contents

CORE_REDIRECTS = LoadConfig.load_file('config/redirects.yml') || {}
STITCH_REDIRECTS = LoadConfig.load_file('config/stitch-redirects.yml') || {}

REDIRECTS = CORE_REDIRECTS.merge(STITCH_REDIRECTS)

ENVIRONMENT_REDIRECTS = YAML.safe_load(ENV['ENVIRONMENT_REDIRECTS'] || '')

class Redirector
  def self.find(request)
    url = find_by_config(request) || find_by_environment_redirect(request) # rubocop:disable Rails/DynamicFindBy
    return unless url

    url
  end

  def self.find_by_config(request)
    REDIRECTS[strip_locale_from_path(request.path)] || false
  end

  def self.find_by_environment_redirect(request)
    return false unless ENVIRONMENT_REDIRECTS

    ENVIRONMENT_REDIRECTS.each do |path, new_url|
      return new_url if Regexp.new(path).match(strip_locale_from_path(request.path))
    end

    false
  end

  def self.strip_locale_from_path(path)
    path.sub("/#{I18n.locale}", '')
  end
end

Version data entries

94 entries across 94 versions & 1 rubygems

Version Path
station-0.5.16 lib/nexmo_developer/app/services/redirector.rb
station-0.5.15 lib/nexmo_developer/app/services/redirector.rb
station-0.5.14 lib/nexmo_developer/app/services/redirector.rb
station-0.5.13 lib/nexmo_developer/app/services/redirector.rb
station-0.5.12 lib/nexmo_developer/app/services/redirector.rb
station-0.5.11 lib/nexmo_developer/app/services/redirector.rb
station-0.5.10 lib/nexmo_developer/app/services/redirector.rb
station-0.5.9 lib/nexmo_developer/app/services/redirector.rb
station-0.5.8 lib/nexmo_developer/app/services/redirector.rb
station-0.5.7 lib/nexmo_developer/app/services/redirector.rb
station-0.5.6 lib/nexmo_developer/app/services/redirector.rb
station-0.5.5 lib/nexmo_developer/app/services/redirector.rb
station-0.5.4 lib/nexmo_developer/app/services/redirector.rb
station-0.5.3 lib/nexmo_developer/app/services/redirector.rb
station-0.5.2 lib/nexmo_developer/app/services/redirector.rb
station-0.5.1 lib/nexmo_developer/app/services/redirector.rb
station-0.5.0 lib/nexmo_developer/app/services/redirector.rb
station-0.4.9 lib/nexmo_developer/app/services/redirector.rb
station-0.4.8 lib/nexmo_developer/app/services/redirector.rb
station-0.4.7 lib/nexmo_developer/app/services/redirector.rb