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/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, TV, Unknown, Wii, WiiU, Xbox360, XboxOne
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(ua) ⇒ Device
Returns a new instance of Device.
6
7
8
|
# File 'lib/browser/device.rb', line 6
def initialize(ua)
@ua = ua
end
|
Instance Attribute Details
#ua ⇒ Object
Returns the value of attribute ua.
4
5
6
|
# File 'lib/browser/device.rb', line 4
def ua
@ua
end
|
Instance Method Details
#blackberry_playbook? ⇒ Boolean
Also known as:
playbook?
110
111
112
|
# File 'lib/browser/device.rb', line 110
def blackberry_playbook?
id == :playbook
end
|
#console? ⇒ Boolean
Detect if browser is console (currently Xbox, PlayStation, or Nintendo).
154
155
156
|
# File 'lib/browser/device.rb', line 154
def console?
xbox? || playstation? || nintendo?
end
|
#id ⇒ Object
32
33
34
|
# File 'lib/browser/device.rb', line 32
def id
subject.id
end
|
#ipad? ⇒ Boolean
54
55
56
|
# File 'lib/browser/device.rb', line 54
def ipad?
id == :ipad
end
|
#iphone? ⇒ Boolean
67
68
69
|
# File 'lib/browser/device.rb', line 67
def iphone?
id == :iphone
end
|
#ipod_touch? ⇒ Boolean
Also known as:
ipod?
62
63
64
|
# File 'lib/browser/device.rb', line 62
def ipod_touch?
id == :ipod_touch
end
|
#kindle? ⇒ Boolean
92
93
94
|
# File 'lib/browser/device.rb', line 92
def kindle?
id == :kindle || kindle_fire?
end
|
#kindle_fire? ⇒ Boolean
96
97
98
|
# File 'lib/browser/device.rb', line 96
def kindle_fire?
id == :kindle_fire
end
|
#mobile? ⇒ Boolean
Detect if browser is mobile.
50
51
52
|
# File 'lib/browser/device.rb', line 50
def mobile?
detect_mobile? && !tablet?
end
|
#name ⇒ Object
36
37
38
|
# File 'lib/browser/device.rb', line 36
def name
subject.name
end
|
#nintendo? ⇒ Boolean
Detect if browser is Nintendo.
149
150
151
|
# File 'lib/browser/device.rb', line 149
def nintendo?
wii? || wiiu?
end
|
#nintendo_wii? ⇒ Boolean
Also known as:
wii?
100
101
102
|
# File 'lib/browser/device.rb', line 100
def nintendo_wii?
id == :wii
end
|
#nintendo_wiiu? ⇒ Boolean
Also known as:
wiiu?
105
106
107
|
# File 'lib/browser/device.rb', line 105
def nintendo_wiiu?
id == :wiiu
end
|
#playstation? ⇒ Boolean
Detect if browser is running under PlayStation.
144
145
146
|
# File 'lib/browser/device.rb', line 144
def playstation?
ps3? || ps4?
end
|
#playstation_vita? ⇒ Boolean
Also known as:
vita?, psp_vita?
86
87
88
|
# File 'lib/browser/device.rb', line 86
def playstation_vita?
id == :psvita
end
|
#ps3? ⇒ Boolean
Also known as:
playstation3?
71
72
73
|
# File 'lib/browser/device.rb', line 71
def ps3?
id == :ps3
end
|
#ps4? ⇒ Boolean
Also known as:
playstation4?
76
77
78
|
# File 'lib/browser/device.rb', line 76
def ps4?
id == :ps4
end
|
#psp? ⇒ Boolean
82
83
84
|
# File 'lib/browser/device.rb', line 82
def psp?
id == :psp
end
|
#silk? ⇒ Boolean
Detect if browser is Silk.
124
125
126
|
# File 'lib/browser/device.rb', line 124
def silk?
ua =~ /Silk/
end
|
#subject ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/browser/device.rb', line 10
def subject
@subject ||= [
XboxOne.new(ua),
Xbox360.new(ua),
Surface.new(ua),
TV.new(ua),
BlackBerryPlaybook.new(ua),
WiiU.new(ua),
Wii.new(ua),
KindleFire.new(ua),
Kindle.new(ua),
PlayStation4.new(ua),
PlayStation3.new(ua),
PSVita.new(ua),
PSP.new(ua),
Iphone.new(ua),
Ipad.new(ua),
IpodTouch.new(ua),
Unknown.new(ua)
].find(&:match?)
end
|
#surface? ⇒ Boolean
115
116
117
|
# File 'lib/browser/device.rb', line 115
def surface?
id == :surface
end
|
#tablet? ⇒ Boolean
Detect if browser is tablet (currently iPad, Android, Surface or Playbook).
42
43
44
45
46
47
|
# File 'lib/browser/device.rb', line 42
def tablet?
ipad? ||
(platform.android? && !detect_mobile?) ||
surface? ||
playbook?
end
|
#tv? ⇒ Boolean
119
120
121
|
# File 'lib/browser/device.rb', line 119
def tv?
id == :tv
end
|
#unknown? ⇒ Boolean
58
59
60
|
# File 'lib/browser/device.rb', line 58
def unknown?
id == :unknown
end
|
#xbox? ⇒ Boolean
Detect if browser is running under Xbox.
129
130
131
|
# File 'lib/browser/device.rb', line 129
def xbox?
ua =~ /Xbox/
end
|
#xbox_360? ⇒ Boolean
Detect if browser is running under Xbox 360.
134
135
136
|
# File 'lib/browser/device.rb', line 134
def xbox_360?
id == :xbox_360
end
|
#xbox_one? ⇒ Boolean
Detect if browser is running under Xbox One.
139
140
141
|
# File 'lib/browser/device.rb', line 139
def xbox_one?
id == :xbox_one
end
|