Class: Browser::Device
- Inherits:
-
Object
show all
- Defined in:
- lib/browser/device.rb,
lib/browser/device/tv.rb,
lib/browser/device/psp.rb,
lib/browser/device/wii.rb,
lib/browser/device/base.rb,
lib/browser/device/ipad.rb,
lib/browser/device/wiiu.rb,
lib/browser/device/iphone.rb,
lib/browser/device/kindle.rb,
lib/browser/device/psvita.rb,
lib/browser/device/switch.rb,
lib/browser/device/surface.rb,
lib/browser/device/unknown.rb,
lib/browser/device/xbox_360.rb,
lib/browser/device/xbox_one.rb,
lib/browser/device/ipod_touch.rb,
lib/browser/device/kindle_fire.rb,
lib/browser/device/playstation3.rb,
lib/browser/device/playstation4.rb,
lib/browser/device/blackberry_playbook.rb
Defined Under Namespace
Classes: Base, BlackBerryPlaybook, Ipad, Iphone, IpodTouch, Kindle, KindleFire, PSP, PSVita, PlayStation3, PlayStation4, Surface, Switch, TV, Unknown, Wii, WiiU, Xbox360, XboxOne
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(ua) ⇒ Device
Returns a new instance of Device.
52
53
54
|
# File 'lib/browser/device.rb', line 52
def initialize(ua)
@ua = ua
end
|
Instance Attribute Details
#ua ⇒ Object
Returns the value of attribute ua.
25
26
27
|
# File 'lib/browser/device.rb', line 25
def ua
@ua
end
|
Class Method Details
.matchers ⇒ Object
Hold the list of device matchers. Order is important.
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/browser/device.rb', line 29
def self.matchers
@matchers ||= [
XboxOne,
Xbox360,
Surface,
TV,
BlackBerryPlaybook,
WiiU,
Wii,
Switch,
KindleFire,
Kindle,
PlayStation4,
PlayStation3,
PSVita,
PSP,
Ipad,
Iphone,
IpodTouch,
Unknown
]
end
|
Instance Method Details
#blackberry_playbook? ⇒ Boolean
Also known as:
playbook?
144
145
146
|
# File 'lib/browser/device.rb', line 144
def blackberry_playbook?
id == :playbook
end
|
#console? ⇒ Boolean
Detect if browser is console (currently Xbox, PlayStation, or Nintendo).
188
189
190
|
# File 'lib/browser/device.rb', line 188
def console?
xbox? || playstation? || nintendo?
end
|
#id ⇒ Object
62
63
64
|
# File 'lib/browser/device.rb', line 62
def id
subject.id
end
|
#ipad? ⇒ Boolean
84
85
86
|
# File 'lib/browser/device.rb', line 84
def ipad?
id == :ipad
end
|
#iphone? ⇒ Boolean
97
98
99
|
# File 'lib/browser/device.rb', line 97
def iphone?
id == :iphone
end
|
#ipod_touch? ⇒ Boolean
Also known as:
ipod?
92
93
94
|
# File 'lib/browser/device.rb', line 92
def ipod_touch?
id == :ipod_touch
end
|
#kindle? ⇒ Boolean
121
122
123
|
# File 'lib/browser/device.rb', line 121
def kindle?
id == :kindle || kindle_fire?
end
|
#kindle_fire? ⇒ Boolean
125
126
127
|
# File 'lib/browser/device.rb', line 125
def kindle_fire?
id == :kindle_fire
end
|
#mobile? ⇒ Boolean
Detect if browser is mobile.
80
81
82
|
# File 'lib/browser/device.rb', line 80
def mobile?
detect_mobile? && !tablet?
end
|
#name ⇒ Object
66
67
68
|
# File 'lib/browser/device.rb', line 66
def name
subject.name
end
|
#nintendo? ⇒ Boolean
Detect if browser is Nintendo.
183
184
185
|
# File 'lib/browser/device.rb', line 183
def nintendo?
wii? || wiiu? || switch?
end
|
#nintendo_switch? ⇒ Boolean
Also known as:
switch?
139
140
141
|
# File 'lib/browser/device.rb', line 139
def nintendo_switch?
id == :switch
end
|
#nintendo_wii? ⇒ Boolean
Also known as:
wii?
129
130
131
|
# File 'lib/browser/device.rb', line 129
def nintendo_wii?
id == :wii
end
|
#nintendo_wiiu? ⇒ Boolean
Also known as:
wiiu?
134
135
136
|
# File 'lib/browser/device.rb', line 134
def nintendo_wiiu?
id == :wiiu
end
|
#playstation? ⇒ Boolean
Detect if browser is running under PlayStation.
178
179
180
|
# File 'lib/browser/device.rb', line 178
def playstation?
ps3? || ps4?
end
|
#playstation_vita? ⇒ Boolean
Also known as:
vita?, psp_vita?
115
116
117
|
# File 'lib/browser/device.rb', line 115
def playstation_vita?
id == :psvita
end
|
#ps3? ⇒ Boolean
Also known as:
playstation3?
101
102
103
|
# File 'lib/browser/device.rb', line 101
def ps3?
id == :ps3
end
|
#ps4? ⇒ Boolean
Also known as:
playstation4?
106
107
108
|
# File 'lib/browser/device.rb', line 106
def ps4?
id == :ps4
end
|
#psp? ⇒ Boolean
111
112
113
|
# File 'lib/browser/device.rb', line 111
def psp?
id == :psp
end
|
#silk? ⇒ Boolean
Detect if browser is Silk.
158
159
160
|
# File 'lib/browser/device.rb', line 158
def silk?
ua =~ /Silk/
end
|
#subject ⇒ Object
56
57
58
59
60
|
# File 'lib/browser/device.rb', line 56
def subject
@subject ||= self.class.matchers
.map {|matcher| matcher.new(ua) }
.find(&:match?)
end
|
#surface? ⇒ Boolean
149
150
151
|
# File 'lib/browser/device.rb', line 149
def surface?
id == :surface
end
|
#tablet? ⇒ Boolean
Detect if browser is tablet (currently iPad, Android, Surface or Playbook).
72
73
74
75
76
77
|
# File 'lib/browser/device.rb', line 72
def tablet?
ipad? ||
(platform.android? && !detect_mobile?) ||
surface? ||
playbook?
end
|
#tv? ⇒ Boolean
153
154
155
|
# File 'lib/browser/device.rb', line 153
def tv?
id == :tv
end
|
#unknown? ⇒ Boolean
88
89
90
|
# File 'lib/browser/device.rb', line 88
def unknown?
id == :unknown
end
|
#xbox? ⇒ Boolean
Detect if browser is running under Xbox.
163
164
165
|
# File 'lib/browser/device.rb', line 163
def xbox?
ua =~ /Xbox/
end
|
#xbox_360? ⇒ Boolean
Detect if browser is running under Xbox 360.
168
169
170
|
# File 'lib/browser/device.rb', line 168
def xbox_360?
id == :xbox_360
end
|
#xbox_one? ⇒ Boolean
Detect if browser is running under Xbox One.
173
174
175
|
# File 'lib/browser/device.rb', line 173
def xbox_one?
id == :xbox_one
end
|