Module: UserAgent::Browsers::Opera

Defined in:
lib/user_agent/browsers/opera.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extend?(agent) ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
7
# File 'lib/user_agent/browsers/opera.rb', line 4

def self.extend?(agent)
  agent.first.product == 'Opera' ||
    (agent.application && agent.application.product == 'Opera')
end

Instance Method Details

#localizationObject



55
56
57
58
59
60
61
62
63
# File 'lib/user_agent/browsers/opera.rb', line 55

def localization
  if application.comment.nil?
    nil
  elsif platform == "Macintosh"
    application.comment[3]
  else
    application.comment[2]
  end
end

#mobile?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/user_agent/browsers/opera.rb', line 41

def mobile?
  mini?
end

#osObject



45
46
47
48
49
50
51
52
53
# File 'lib/user_agent/browsers/opera.rb', line 45

def os
  if application.comment.nil?
    nil
  elsif application.comment[0] =~ /Windows/
    OperatingSystems.normalize_os(application.comment[0])
  else
    application.comment[1]
  end
end

#platformObject



19
20
21
22
23
24
25
26
27
# File 'lib/user_agent/browsers/opera.rb', line 19

def platform
  if application.comment.nil?
    nil
  elsif application.comment[0] =~ /Windows/
    "Windows"
  else
    application.comment[0]
  end
end

#securityObject



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/user_agent/browsers/opera.rb', line 29

def security
  if application.comment.nil?
    :strong
  elsif platform == "Macintosh"
    Security[application.comment[2]]
  elsif mini?
    Security[application.comment[-2]]
  else
    Security[application.comment[1]]
  end
end

#versionObject



9
10
11
12
13
14
15
16
17
# File 'lib/user_agent/browsers/opera.rb', line 9

def version
  if mini?
    application.comment[1][/Opera Mini\/([\d\.]+)/, 1]
  elsif product = detect_product('Version')
    product.version
  else
    super
  end
end