Class: UserAgent::Browsers::Webkit
- Inherits:
-
Base
- Object
- Array
- Base
- UserAgent::Browsers::Webkit
show all
- Defined in:
- lib/user_agent/browsers/webkit.rb
Direct Known Subclasses
ITunes
Constant Summary
collapse
- BuildVersions =
{
"85.7" => "1.0",
"85.8.5" => "1.0.3",
"85.8.2" => "1.0.3",
"124" => "1.2",
"125.2" => "1.2.2",
"125.4" => "1.2.3",
"125.5.5" => "1.2.4",
"125.5.6" => "1.2.4",
"125.5.7" => "1.2.4",
"312.1.1" => "1.3",
"312.1" => "1.3",
"312.5" => "1.3.1",
"312.5.1" => "1.3.1",
"312.5.2" => "1.3.1",
"312.8" => "1.3.2",
"312.8.1" => "1.3.2",
"412" => "2.0",
"412.6" => "2.0",
"412.6.2" => "2.0",
"412.7" => "2.0.1",
"416.11" => "2.0.2",
"416.12" => "2.0.2",
"417.9" => "2.0.3",
"418" => "2.0.3",
"418.8" => "2.0.4",
"418.9" => "2.0.4",
"418.9.1" => "2.0.4",
"419" => "2.0.4",
"425.13" => "2.2",
"534.52.7" => "5.1.2"
}.freeze
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#<=>, #bot?, #eql?, #method_missing, #mobile?, #respond_to?, #to_h, #to_s, #to_str
Methods included from Comparable
#<, #<=, #==, #>, #>=
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class UserAgent::Browsers::Base
Class Method Details
.extend?(agent) ⇒ Boolean
4
5
6
|
# File 'lib/user_agent/browsers/webkit.rb', line 4
def self.extend?(agent)
agent.detect { |useragent| useragent.product =~ /\AAppleWebKit\z/i }
end
|
Instance Method Details
#application ⇒ Object
68
69
70
|
# File 'lib/user_agent/browsers/webkit.rb', line 68
def application
self.reject { |agent| agent..nil? || agent..empty? }.first
end
|
#browser ⇒ Object
8
9
10
11
12
13
14
15
16
|
# File 'lib/user_agent/browsers/webkit.rb', line 8
def browser
if os =~ /Android/
'Android'
elsif platform == 'BlackBerry'
platform
else
'Safari'
end
end
|
#build ⇒ Object
18
19
20
|
# File 'lib/user_agent/browsers/webkit.rb', line 18
def build
webkit.version
end
|
#localization ⇒ Object
112
113
114
115
116
117
118
|
# File 'lib/user_agent/browsers/webkit.rb', line 112
def localization
if application.nil?
nil
else
application.[3]
end
end
|
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/user_agent/browsers/webkit.rb', line 72
def platform
if application.nil?
nil
elsif application.[0] =~ /Windows/
'Windows'
elsif application.[0] == 'BB10'
'BlackBerry'
elsif application..any? { |c| c =~ /Android/ }
'Android'
else
application.[0]
end
end
|
#security ⇒ Object
90
91
92
|
# File 'lib/user_agent/browsers/webkit.rb', line 90
def security
Security[application.[1]]
end
|
#version ⇒ Object
Prior to Safari 3, the user agent did not include a version number
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/user_agent/browsers/webkit.rb', line 56
def version
str = if product = detect_product('Version')
product.version
elsif os =~ /iOS ([\d\.]+)/ && browser == "Safari"
$1.gsub(/_/, '.')
else
BuildVersions[build.to_s]
end
Version.new(str)
end
|
#webkit ⇒ Object
86
87
88
|
# File 'lib/user_agent/browsers/webkit.rb', line 86
def webkit
detect { |useragent| useragent.product =~ /\AAppleWebKit\z/i }
end
|