Module: Aua::Agents::Opera

Defined in:
lib/aua/agents/opera.rb

Constant Summary collapse

PATTERN =
/Opera ([\d.]+)/
PATTERN_MINI =
/Opera Mini\/([\d.]+)/
PATTERN_MOBILE =
/Opera Mobi\//

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extend?(agent) ⇒ Boolean

Returns:

  • (Boolean)


2
3
4
# File 'lib/aua/agents/opera.rb', line 2

def self.extend?(agent)
  agent.products.include?("Opera")
end

Instance Method Details

#nameObject



14
15
16
17
18
19
20
# File 'lib/aua/agents/opera.rb', line 14

def name
  @name ||= begin
    return :OperaMobile if app_comments_string =~ PATTERN_MOBILE
    return :OperaMini if app_comments_string =~ PATTERN_MINI
    :Opera
  end
end

#typeObject



10
11
12
# File 'lib/aua/agents/opera.rb', line 10

def type
  :Browser
end

#versionObject



22
23
24
25
26
27
# File 'lib/aua/agents/opera.rb', line 22

def version
  @version ||= begin
    return $1 if app_comments[1] =~ PATTERN_MINI
    (raw =~ PATTERN && $1) || version_of("Version") || version_of("Opera")
  end
end