Class: Rack::ICU4X::Locale::Detector::Header

Inherits:
Object
  • Object
show all
Defined in:
lib/rack/icu4x/locale/detector/header.rb

Overview

Detects locales from the Accept-Language HTTP header.

Returns locales sorted by quality value in descending order.

Examples:

detector = Header.new
env = { "HTTP_ACCEPT_LANGUAGE" => "ja,en;q=0.9,de;q=0.8" }
detector.call(env) # => ["ja", "en", "de"]

Instance Method Summary collapse

Instance Method Details

#call(env) ⇒ Array<String>?

Returns Locales sorted by quality value, or nil if header is missing.

Parameters:

  • env (Hash)

    Rack environment

Returns:

  • (Array<String>, nil)

    Locales sorted by quality value, or nil if header is missing



18
19
20
21
22
23
# File 'lib/rack/icu4x/locale/detector/header.rb', line 18

def call(env)
  header = env["HTTP_ACCEPT_LANGUAGE"]
  return nil if header.nil? || header.empty?

  parse_accept_language(header)
end