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.
49
50
51
|
# File 'lib/browser/device.rb', line 49
def initialize(ua)
@ua = ua
end
|
Instance Attribute Details
#ua ⇒ Object
Returns the value of attribute ua.
23
24
25
|
# File 'lib/browser/device.rb', line 23
def ua
@ua
end
|
Class Method Details
.matchers ⇒ Object
Hold the list of device matchers. Order is important.
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/browser/device.rb', line 27
def self.matchers
@matchers ||= [
XboxOne,
Xbox360,
Surface,
TV,
BlackBerryPlaybook,
WiiU,
Wii,
KindleFire,
Kindle,
PlayStation4,
PlayStation3,
PSVita,
PSP,
Iphone,
Ipad,
IpodTouch,
Unknown
]
end
|
Instance Method Details
#blackberry_playbook? ⇒ Boolean
Also known as:
playbook?
137
138
139
|
# File 'lib/browser/device.rb', line 137
def blackberry_playbook?
id == :playbook
end
|
#console? ⇒ Boolean
Detect if browser is console (currently Xbox, PlayStation, or Nintendo).
181
182
183
|
# File 'lib/browser/device.rb', line 181
def console?
xbox? || playstation? || nintendo?
end
|
#id ⇒ Object
59
60
61
|
# File 'lib/browser/device.rb', line 59
def id
subject.id
end
|
#ipad? ⇒ Boolean
81
82
83
|
# File 'lib/browser/device.rb', line 81
def ipad?
id == :ipad
end
|
#iphone? ⇒ Boolean
94
95
96
|
# File 'lib/browser/device.rb', line 94
def iphone?
id == :iphone
end
|
#ipod_touch? ⇒ Boolean
Also known as:
ipod?
89
90
91
|
# File 'lib/browser/device.rb', line 89
def ipod_touch?
id == :ipod_touch
end
|
#kindle? ⇒ Boolean
119
120
121
|
# File 'lib/browser/device.rb', line 119
def kindle?
id == :kindle || kindle_fire?
end
|
#kindle_fire? ⇒ Boolean
123
124
125
|
# File 'lib/browser/device.rb', line 123
def kindle_fire?
id == :kindle_fire
end
|
#mobile? ⇒ Boolean
Detect if browser is mobile.
77
78
79
|
# File 'lib/browser/device.rb', line 77
def mobile?
detect_mobile? && !tablet?
end
|
#name ⇒ Object
63
64
65
|
# File 'lib/browser/device.rb', line 63
def name
subject.name
end
|
#nintendo? ⇒ Boolean
Detect if browser is Nintendo.
176
177
178
|
# File 'lib/browser/device.rb', line 176
def nintendo?
wii? || wiiu?
end
|
#nintendo_wii? ⇒ Boolean
Also known as:
wii?
127
128
129
|
# File 'lib/browser/device.rb', line 127
def nintendo_wii?
id == :wii
end
|
#nintendo_wiiu? ⇒ Boolean
Also known as:
wiiu?
132
133
134
|
# File 'lib/browser/device.rb', line 132
def nintendo_wiiu?
id == :wiiu
end
|
#playstation? ⇒ Boolean
Detect if browser is running under PlayStation.
171
172
173
|
# File 'lib/browser/device.rb', line 171
def playstation?
ps3? || ps4?
end
|
#playstation_vita? ⇒ Boolean
Also known as:
vita?, psp_vita?
113
114
115
|
# File 'lib/browser/device.rb', line 113
def playstation_vita?
id == :psvita
end
|
#ps3? ⇒ Boolean
Also known as:
playstation3?
98
99
100
|
# File 'lib/browser/device.rb', line 98
def ps3?
id == :ps3
end
|
#ps4? ⇒ Boolean
Also known as:
playstation4?
103
104
105
|
# File 'lib/browser/device.rb', line 103
def ps4?
id == :ps4
end
|
#psp? ⇒ Boolean
109
110
111
|
# File 'lib/browser/device.rb', line 109
def psp?
id == :psp
end
|
#silk? ⇒ Boolean
Detect if browser is Silk.
151
152
153
|
# File 'lib/browser/device.rb', line 151
def silk?
ua =~ /Silk/
end
|
#subject ⇒ Object
53
54
55
56
57
|
# File 'lib/browser/device.rb', line 53
def subject
@subject ||= self.class.matchers
.map {|matcher| matcher.new(ua) }
.find(&:match?)
end
|
#surface? ⇒ Boolean
142
143
144
|
# File 'lib/browser/device.rb', line 142
def surface?
id == :surface
end
|
#tablet? ⇒ Boolean
Detect if browser is tablet (currently iPad, Android, Surface or Playbook).
69
70
71
72
73
74
|
# File 'lib/browser/device.rb', line 69
def tablet?
ipad? ||
(platform.android? && !detect_mobile?) ||
surface? ||
playbook?
end
|
#tv? ⇒ Boolean
146
147
148
|
# File 'lib/browser/device.rb', line 146
def tv?
id == :tv
end
|
#unknown? ⇒ Boolean
85
86
87
|
# File 'lib/browser/device.rb', line 85
def unknown?
id == :unknown
end
|
#xbox? ⇒ Boolean
Detect if browser is running under Xbox.
156
157
158
|
# File 'lib/browser/device.rb', line 156
def xbox?
ua =~ /Xbox/
end
|
#xbox_360? ⇒ Boolean
Detect if browser is running under Xbox 360.
161
162
163
|
# File 'lib/browser/device.rb', line 161
def xbox_360?
id == :xbox_360
end
|
#xbox_one? ⇒ Boolean
Detect if browser is running under Xbox One.
166
167
168
|
# File 'lib/browser/device.rb', line 166
def xbox_one?
id == :xbox_one
end
|