Module: Brauser::BrowserMethods::Parsing

Included in:
Brauser::Browser
Defined in:
lib/brauser/browser.rb

Overview

Methods to parse the user agent.

Instance Method Summary collapse

Instance Method Details

#parse_accept_language(accept_language = nil) ⇒ Array

Parses the Accept-Language header.

Parameters:

  • (defaults to: nil)

    The Accept-Language header.

Returns:

  • The list of accepted languages.



461
462
463
# File 'lib/brauser/browser.rb', line 461

def parse_accept_language(accept_language = nil)
  accept_language.ensure_string.gsub(/;q=[\d.]+/, "").split(",").map {|l| l.downcase.strip }.select{|l| l.present? }
end

#parse_agent(agent = nil) ⇒ Boolean

Parses the User-Agent header.

Parameters:

  • (defaults to: nil)

    The User-Agent header.

Returns:

  • true if the browser was detected, false otherwise.



447
448
449
450
451
452
453
454
455
# File 'lib/brauser/browser.rb', line 447

def parse_agent(agent = nil)
  agent = agent.ensure_string

  @name, _ = match_name_and_version(agent)
  @version = adjust_version(@version)
  @platform = match_platform(agent)

  (@name != :unknown) ? true : false
end