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
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(ua) ⇒ Device
Returns a new instance of Device.
50
51
52
|
# File 'lib/browser/device.rb', line 50
def initialize(ua)
@ua = ua
end
|
Instance Attribute Details
#ua ⇒ Object
Returns the value of attribute ua.
24
25
26
|
# File 'lib/browser/device.rb', line 24
def ua
@ua
end
|
Class Method Details
.matchers ⇒ Object
Hold the list of device matchers. Order is important.
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/browser/device.rb', line 28
def self.matchers
@matchers ||= [
XboxOne,
Xbox360,
Surface,
TV,
BlackBerryPlaybook,
WiiU,
Wii,
KindleFire,
Kindle,
PlayStation4,
PlayStation3,
PSVita,
PSP,
Ipad,
Iphone,
IpodTouch,
Unknown
]
end
|
Instance Method Details
#blackberry_playbook? ⇒ Boolean
Also known as:
playbook?
138
139
140
|
# File 'lib/browser/device.rb', line 138
def blackberry_playbook?
id == :playbook
end
|
#console? ⇒ Boolean
Detect if browser is console (currently Xbox, PlayStation, or Nintendo).
182
183
184
|
# File 'lib/browser/device.rb', line 182
def console?
xbox? || playstation? || nintendo?
end
|
#id ⇒ Object
60
61
62
|
# File 'lib/browser/device.rb', line 60
def id
subject.id
end
|
#ipad? ⇒ Boolean
82
83
84
|
# File 'lib/browser/device.rb', line 82
def ipad?
id == :ipad
end
|
#iphone? ⇒ Boolean
95
96
97
|
# File 'lib/browser/device.rb', line 95
def iphone?
id == :iphone
end
|
#ipod_touch? ⇒ Boolean
Also known as:
ipod?
90
91
92
|
# File 'lib/browser/device.rb', line 90
def ipod_touch?
id == :ipod_touch
end
|
#kindle? ⇒ Boolean
120
121
122
|
# File 'lib/browser/device.rb', line 120
def kindle?
id == :kindle || kindle_fire?
end
|
#kindle_fire? ⇒ Boolean
124
125
126
|
# File 'lib/browser/device.rb', line 124
def kindle_fire?
id == :kindle_fire
end
|
#mobile? ⇒ Boolean
Detect if browser is mobile.
78
79
80
|
# File 'lib/browser/device.rb', line 78
def mobile?
detect_mobile? && !tablet?
end
|
#name ⇒ Object
64
65
66
|
# File 'lib/browser/device.rb', line 64
def name
subject.name
end
|
#nintendo? ⇒ Boolean
Detect if browser is Nintendo.
177
178
179
|
# File 'lib/browser/device.rb', line 177
def nintendo?
wii? || wiiu?
end
|
#nintendo_wii? ⇒ Boolean
Also known as:
wii?
128
129
130
|
# File 'lib/browser/device.rb', line 128
def nintendo_wii?
id == :wii
end
|
#nintendo_wiiu? ⇒ Boolean
Also known as:
wiiu?
133
134
135
|
# File 'lib/browser/device.rb', line 133
def nintendo_wiiu?
id == :wiiu
end
|
#playstation? ⇒ Boolean
Detect if browser is running under PlayStation.
172
173
174
|
# File 'lib/browser/device.rb', line 172
def playstation?
ps3? || ps4?
end
|
#playstation_vita? ⇒ Boolean
Also known as:
vita?, psp_vita?
114
115
116
|
# File 'lib/browser/device.rb', line 114
def playstation_vita?
id == :psvita
end
|
#ps3? ⇒ Boolean
Also known as:
playstation3?
99
100
101
|
# File 'lib/browser/device.rb', line 99
def ps3?
id == :ps3
end
|
#ps4? ⇒ Boolean
Also known as:
playstation4?
104
105
106
|
# File 'lib/browser/device.rb', line 104
def ps4?
id == :ps4
end
|
#psp? ⇒ Boolean
110
111
112
|
# File 'lib/browser/device.rb', line 110
def psp?
id == :psp
end
|
#silk? ⇒ Boolean
Detect if browser is Silk.
152
153
154
|
# File 'lib/browser/device.rb', line 152
def silk?
ua =~ /Silk/
end
|
#subject ⇒ Object
54
55
56
57
58
|
# File 'lib/browser/device.rb', line 54
def subject
@subject ||= self.class.matchers
.map {|matcher| matcher.new(ua) }
.find(&:match?)
end
|
#surface? ⇒ Boolean
143
144
145
|
# File 'lib/browser/device.rb', line 143
def surface?
id == :surface
end
|
#tablet? ⇒ Boolean
Detect if browser is tablet (currently iPad, Android, Surface or Playbook).
70
71
72
73
74
75
|
# File 'lib/browser/device.rb', line 70
def tablet?
ipad? ||
(platform.android? && !detect_mobile?) ||
surface? ||
playbook?
end
|
#tv? ⇒ Boolean
147
148
149
|
# File 'lib/browser/device.rb', line 147
def tv?
id == :tv
end
|
#unknown? ⇒ Boolean
86
87
88
|
# File 'lib/browser/device.rb', line 86
def unknown?
id == :unknown
end
|
#xbox? ⇒ Boolean
Detect if browser is running under Xbox.
157
158
159
|
# File 'lib/browser/device.rb', line 157
def xbox?
ua =~ /Xbox/
end
|
#xbox_360? ⇒ Boolean
Detect if browser is running under Xbox 360.
162
163
164
|
# File 'lib/browser/device.rb', line 162
def xbox_360?
id == :xbox_360
end
|
#xbox_one? ⇒ Boolean
Detect if browser is running under Xbox One.
167
168
169
|
# File 'lib/browser/device.rb', line 167
def xbox_one?
id == :xbox_one
end
|