browser_detect 0.0.1 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +4 -0
- data/.yardopts +5 -0
- data/README.md +77 -0
- data/VERSION +1 -0
- data/browser_detect.gemspec +12 -11
- data/doc/BrowserDetect.html +456 -0
- data/doc/BrowserDetectHelperTest.html +207 -0
- data/doc/BrowserDetectMock.html +313 -0
- data/doc/BrowserDetectMock/req;.html +151 -0
- data/doc/Test.html +157 -0
- data/doc/Test/Unit.html +160 -0
- data/doc/Test/Unit/TestCase.html +270 -0
- data/doc/Test/browser_detect_test_rb.html +54 -0
- data/doc/Test/test_helper_rb.html +58 -0
- data/doc/_index.html +94 -0
- data/doc/class_list.html +36 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +307 -0
- data/doc/file.README.html +144 -0
- data/doc/file_list.html +38 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +144 -0
- data/doc/init_rb.html +54 -0
- data/doc/js/app.js +202 -0
- data/doc/js/full_list.js +149 -0
- data/doc/js/jquery.js +154 -0
- data/doc/lib/version_rb.html +52 -0
- data/doc/method_list.html +67 -0
- data/doc/top-level-namespace.html +88 -0
- data/init.rb +5 -0
- data/lib/browser_detect.rb +73 -2
- data/lib/railtie.rb +13 -0
- data/test/browser_detect_test.rb +55 -0
- data/test/fixtures/user_agents.yml +47 -0
- data/test/test_helper.rb +45 -0
- metadata +43 -10
- data/README +0 -0
- data/lib/browser_detect/browser_detect_helper.rb +0 -43
- data/lib/browser_detect/version.rb +0 -3
data/.gitignore
ADDED
data/.yardopts
ADDED
data/README.md
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
Browser Detect
|
2
|
+
==============
|
3
|
+
_It's like a crystal ball for user agents._
|
4
|
+
|
5
|
+
Detect it.
|
6
|
+
----------
|
7
|
+
|
8
|
+
Detects the client browser using the user agent string that was used to make the page request.
|
9
|
+
|
10
|
+
Browser Detect currently supports the following browsers and platforms:
|
11
|
+
|
12
|
+
Browsers:
|
13
|
+
|
14
|
+
* ie
|
15
|
+
* gecko
|
16
|
+
* konqueror
|
17
|
+
* opera
|
18
|
+
* ipad
|
19
|
+
* ipod
|
20
|
+
* iphone
|
21
|
+
* chrome
|
22
|
+
* safari
|
23
|
+
|
24
|
+
Robots:
|
25
|
+
|
26
|
+
* googlebot
|
27
|
+
* msnbot
|
28
|
+
* yahoo!
|
29
|
+
|
30
|
+
Operating Systems:
|
31
|
+
|
32
|
+
* TODO
|
33
|
+
|
34
|
+
Install it:
|
35
|
+
-----------
|
36
|
+
|
37
|
+
Using Bundler, all you need to do is add the source to your Gemfile:
|
38
|
+
|
39
|
+
gem "browser_detect", :require => "browser_detect", :git => 'git://github.com/traction/browser_detect.git'
|
40
|
+
|
41
|
+
Then run:
|
42
|
+
|
43
|
+
bundle install
|
44
|
+
|
45
|
+
or, install it as a plugin:
|
46
|
+
|
47
|
+
script/plugin install git://github.com/traction/browser_detect.git
|
48
|
+
|
49
|
+
Wield it.
|
50
|
+
---------
|
51
|
+
|
52
|
+
To check the type of browser, use browser_name
|
53
|
+
@browser_name will return either 'ie', 'gecko', 'opera', 'konqueror', 'ipod', 'ipad', 'iphone', 'chrome', 'safari', 'googlebot', 'msnbot', 'yahoobot'
|
54
|
+
|
55
|
+
def index
|
56
|
+
@browser_name = browser_name
|
57
|
+
end
|
58
|
+
|
59
|
+
To check if a particular browser made the request, use browser_name?(name)
|
60
|
+
If the browser used is chrome, it will return True
|
61
|
+
|
62
|
+
def index
|
63
|
+
@browser_type = browser_is?("chrome")
|
64
|
+
end
|
65
|
+
|
66
|
+
or in a view using ERB:
|
67
|
+
|
68
|
+
<%= browser_is?(:chrome) ? "secrets" : "buzz off" %>
|
69
|
+
|
70
|
+
Or choose from the following groupings:
|
71
|
+
|
72
|
+
* mozilla
|
73
|
+
* ie
|
74
|
+
* webkit
|
75
|
+
* robots
|
76
|
+
|
77
|
+
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.4
|
data/browser_detect.gemspec
CHANGED
@@ -1,22 +1,23 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
|
3
|
-
|
2
|
+
files = `git ls-files`.split("\n")
|
4
3
|
Gem::Specification.new do |s|
|
5
4
|
s.name = "browser_detect"
|
6
|
-
s.version =
|
5
|
+
s.version = File.read(File.expand_path(File.dirname(__FILE__)+ "/VERSION")).strip
|
7
6
|
s.platform = Gem::Platform::RUBY
|
8
|
-
s.authors = ["faunzy"]
|
7
|
+
s.authors = ["rlivsey", "faunzy", "tmlee", "ggilder"]
|
9
8
|
s.email = []
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.
|
9
|
+
s.has_rdoc = 'yard'
|
10
|
+
s.homepage = "http://github.com/traction/browser_detect"
|
11
|
+
s.summary = "A simple rails browser detection plugin"
|
12
|
+
s.description = <<-END
|
13
|
+
Simple rails browser detection based on original plugin by Richard Livsey"
|
14
|
+
END
|
13
15
|
|
14
16
|
s.required_rubygems_version = ">= 1.3.6"
|
15
17
|
s.rubyforge_project = "browser_detect"
|
16
|
-
|
17
18
|
s.add_development_dependency "bundler", ">= 1.0.0.rc.6"
|
18
|
-
|
19
|
-
s.files =
|
20
|
-
s.executables =
|
19
|
+
|
20
|
+
s.files = files.reject{|f| f =~ /\.gem$/}
|
21
|
+
s.executables = files.map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
|
21
22
|
s.require_path = 'lib'
|
22
23
|
end
|
@@ -0,0 +1,456 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta name="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>Module: BrowserDetect</title>
|
7
|
+
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
|
8
|
+
<link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
|
9
|
+
|
10
|
+
<script type="text/javascript" charset="utf-8">
|
11
|
+
relpath = '';
|
12
|
+
if (relpath != '') relpath += '/';
|
13
|
+
</script>
|
14
|
+
<script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
|
15
|
+
<script type="text/javascript" charset="utf-8" src="js/app.js"></script>
|
16
|
+
|
17
|
+
</head>
|
18
|
+
<body>
|
19
|
+
<script type="text/javascript" charset="utf-8">
|
20
|
+
if (window.top.frames.main) document.body.className = 'frames';
|
21
|
+
</script>
|
22
|
+
|
23
|
+
<div id="header">
|
24
|
+
<div id="menu">
|
25
|
+
|
26
|
+
<a href="_index.html">Index (B)</a> »
|
27
|
+
|
28
|
+
|
29
|
+
<span class="title">BrowserDetect</span>
|
30
|
+
|
31
|
+
|
32
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="search">
|
36
|
+
<a id="class_list_link" href="#">Class List</a>
|
37
|
+
<a id="method_list_link" href="#">Method List</a>
|
38
|
+
<a id ="file_list_link" href="#">File List</a>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div class="clear"></div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<iframe id="search_frame"></iframe>
|
45
|
+
|
46
|
+
<div id="content"><h1>Module: BrowserDetect
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
</h1>
|
51
|
+
|
52
|
+
<dl class="box">
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
<dt class="r1 last">Defined in:</dt>
|
62
|
+
<dd class="r1 last">lib/version.rb<span class="defines">,<br />
|
63
|
+
lib/browser_detect.rb</span>
|
64
|
+
</dd>
|
65
|
+
|
66
|
+
</dl>
|
67
|
+
<div class="clear"></div>
|
68
|
+
|
69
|
+
|
70
|
+
<h2>Constant Summary</h2>
|
71
|
+
|
72
|
+
<dl class="constants">
|
73
|
+
|
74
|
+
<dt id="VERSION-constant" class="">VERSION =
|
75
|
+
|
76
|
+
</dt>
|
77
|
+
<dd><pre class="code"><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0.0.3</span><span class='tstring_end'>"</span></span></pre></dd>
|
78
|
+
|
79
|
+
</dl>
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
<h2>
|
86
|
+
Instance Method Summary
|
87
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
88
|
+
</h2>
|
89
|
+
|
90
|
+
<ul class="summary">
|
91
|
+
|
92
|
+
<li class="public ">
|
93
|
+
<span class="summary_signature">
|
94
|
+
|
95
|
+
<a href="#browser_is%3F-instance_method" title="#browser_is? (instance method)">- (Boolean) <strong>browser_is?</strong>(name) </a>
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
</span>
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
<span class="summary_desc"><div class='inline'><p>Browser groupings <%= browser_is?(:ie) ? "srsly?" : "thank goodness" %>.</p></div></span>
|
109
|
+
|
110
|
+
</li>
|
111
|
+
|
112
|
+
|
113
|
+
<li class="public ">
|
114
|
+
<span class="summary_signature">
|
115
|
+
|
116
|
+
<a href="#browser_name-instance_method" title="#browser_name (instance method)">- <strong>browser_name</strong> </a>
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
</span>
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
<span class="summary_desc"><div class='inline'><p>Returns the user agent string as determined by the plugin.</p></div></span>
|
130
|
+
|
131
|
+
</li>
|
132
|
+
|
133
|
+
|
134
|
+
<li class="public ">
|
135
|
+
<span class="summary_signature">
|
136
|
+
|
137
|
+
<a href="#browser_webkit_version-instance_method" title="#browser_webkit_version (instance method)">- <strong>browser_webkit_version</strong> </a>
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
</span>
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
<span class="summary_desc"><div class='inline'><p>Determine the version of webkit.</p></div></span>
|
151
|
+
|
152
|
+
</li>
|
153
|
+
|
154
|
+
|
155
|
+
<li class="public ">
|
156
|
+
<span class="summary_signature">
|
157
|
+
|
158
|
+
<a href="#ua-instance_method" title="#ua (instance method)">- <strong>ua</strong> </a>
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
</span>
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
<span class="summary_desc"><div class='inline'><p>Gather the user agent and store it for use.</p></div></span>
|
172
|
+
|
173
|
+
</li>
|
174
|
+
|
175
|
+
|
176
|
+
</ul>
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
<div id="instance_method_details" class="method_details_list">
|
182
|
+
<h2>Instance Method Details</h2>
|
183
|
+
|
184
|
+
|
185
|
+
<div class="method_details first">
|
186
|
+
<p class="signature first" id="browser_is?-instance_method">
|
187
|
+
|
188
|
+
- (<tt>Boolean</tt>) <strong>browser_is?</strong>(name)
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
</p><div class="docstring">
|
193
|
+
<div class="discussion">
|
194
|
+
<p>Browser groupings <%= browser_is?(:ie) ? "srsly?" : "thank goodness" %></p>
|
195
|
+
|
196
|
+
</div>
|
197
|
+
</div>
|
198
|
+
<div class="tags">
|
199
|
+
<h3>Returns:</h3>
|
200
|
+
<ul class="return">
|
201
|
+
|
202
|
+
<li>
|
203
|
+
|
204
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
</li>
|
210
|
+
|
211
|
+
</ul>
|
212
|
+
|
213
|
+
</div><table class="source_code">
|
214
|
+
<tr>
|
215
|
+
<td>
|
216
|
+
<pre class="lines">
|
217
|
+
|
218
|
+
|
219
|
+
3
|
220
|
+
4
|
221
|
+
5
|
222
|
+
6
|
223
|
+
7
|
224
|
+
8
|
225
|
+
9
|
226
|
+
10
|
227
|
+
11</pre>
|
228
|
+
</td>
|
229
|
+
<td>
|
230
|
+
<pre class="code"><span class="info file"># File 'lib/browser_detect.rb', line 3</span>
|
231
|
+
|
232
|
+
<span class='kw'>def</span> <span class='id browser_is?'>browser_is?</span> <span class='id name'>name</span>
|
233
|
+
<span class='id name'>name</span> <span class='op'>=</span> <span class='id name'>name</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='period'>.</span><span class='id strip'>strip</span>
|
234
|
+
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id browser_name'>browser_name</span> <span class='op'>==</span> <span class='id name'>name</span>
|
235
|
+
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id name'>name</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>mozilla</span><span class='tstring_end'>'</span></span> <span class='op'>&&</span> <span class='id browser_name'>browser_name</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>gecko</span><span class='tstring_end'>'</span></span>
|
236
|
+
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id name'>name</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ie</span><span class='tstring_end'>'</span></span> <span class='op'>&&</span> <span class='id browser_name'>browser_name</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ie</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
237
|
+
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id name'>name</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>webkit</span><span class='tstring_end'>'</span></span> <span class='op'>&&</span> <span class='qwords_beg'>%w{</span><span class='tstring_content'>safari</span><span class='words_sep'> </span><span class='tstring_content'>chrome</span><span class='words_sep'> </span><span class='tstring_content'>iphone</span><span class='words_sep'> </span><span class='tstring_content'>ipad</span><span class='words_sep'> </span><span class='tstring_content'>ipod</span><span class='words_sep'>}</span><span class='period'>.</span><span class='id include?'>include?</span><span class='lparen'>(</span><span class='id browser_name'>browser_name</span><span class='rparen'>)</span>
|
238
|
+
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id name'>name</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ios</span><span class='tstring_end'>'</span></span> <span class='op'>&&</span> <span class='qwords_beg'>%w{</span><span class='tstring_content'>iphone</span><span class='words_sep'> </span><span class='tstring_content'>ipad</span><span class='words_sep'> </span><span class='tstring_content'>ipod</span><span class='words_sep'>}</span><span class='period'>.</span><span class='id include?'>include?</span><span class='lparen'>(</span><span class='id browser_name'>browser_name</span><span class='rparen'>)</span>
|
239
|
+
<span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>if</span> <span class='id name'>name</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>robots</span><span class='tstring_end'>'</span></span> <span class='op'>&&</span> <span class='qwords_beg'>%w{</span><span class='tstring_content'>googlebot</span><span class='words_sep'> </span><span class='tstring_content'>msnbot</span><span class='words_sep'> </span><span class='tstring_content'>yahoobot</span><span class='words_sep'>}</span><span class='period'>.</span><span class='id include?'>include?</span><span class='lparen'>(</span><span class='id browser_name'>browser_name</span><span class='rparen'>)</span>
|
240
|
+
<span class='kw'>end</span></pre>
|
241
|
+
</td>
|
242
|
+
</tr>
|
243
|
+
</table>
|
244
|
+
</div>
|
245
|
+
|
246
|
+
<div class="method_details ">
|
247
|
+
<p class="signature " id="browser_name-instance_method">
|
248
|
+
|
249
|
+
- <strong>browser_name</strong>
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
</p><div class="docstring">
|
254
|
+
<div class="discussion">
|
255
|
+
<p>Returns the user agent string as determined by the plugin</p>
|
256
|
+
|
257
|
+
</div>
|
258
|
+
</div>
|
259
|
+
<div class="tags">
|
260
|
+
|
261
|
+
</div><table class="source_code">
|
262
|
+
<tr>
|
263
|
+
<td>
|
264
|
+
<pre class="lines">
|
265
|
+
|
266
|
+
|
267
|
+
14
|
268
|
+
15
|
269
|
+
16
|
270
|
+
17
|
271
|
+
18
|
272
|
+
19
|
273
|
+
20
|
274
|
+
21
|
275
|
+
22
|
276
|
+
23
|
277
|
+
24
|
278
|
+
25
|
279
|
+
26
|
280
|
+
27
|
281
|
+
28
|
282
|
+
29
|
283
|
+
30
|
284
|
+
31
|
285
|
+
32
|
286
|
+
33
|
287
|
+
34
|
288
|
+
35
|
289
|
+
36
|
290
|
+
37
|
291
|
+
38
|
292
|
+
39
|
293
|
+
40
|
294
|
+
41
|
295
|
+
42
|
296
|
+
43
|
297
|
+
44
|
298
|
+
45
|
299
|
+
46
|
300
|
+
47
|
301
|
+
48</pre>
|
302
|
+
</td>
|
303
|
+
<td>
|
304
|
+
<pre class="code"><span class="info file"># File 'lib/browser_detect.rb', line 14</span>
|
305
|
+
|
306
|
+
<span class='kw'>def</span> <span class='id browser_name'>browser_name</span>
|
307
|
+
<span class='ivar'>@browser_name</span> <span class='op'>||=</span> <span class='kw'>begin</span>
|
308
|
+
<span class='kw'>if</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>msie</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>opera</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>webtv</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
309
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ie</span><span class='tstring_end'>'</span></span><span class='op'>+</span><span class='id ua'>ua</span><span class='lbracket'>[</span><span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>msie</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='op'>+</span><span class='int'>5</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id chr'>chr</span>
|
310
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>gecko/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
311
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>gecko</span><span class='tstring_end'>'</span></span>
|
312
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>opera</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
313
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>opera</span><span class='tstring_end'>'</span></span>
|
314
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>konqueror</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
315
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>konqueror</span><span class='tstring_end'>'</span></span>
|
316
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ipod</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
317
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ipod</span><span class='tstring_end'>'</span></span>
|
318
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ipad</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
319
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>ipad</span><span class='tstring_end'>'</span></span>
|
320
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>iphone</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
321
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>iphone</span><span class='tstring_end'>'</span></span>
|
322
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>chrome/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
323
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>chrome</span><span class='tstring_end'>'</span></span>
|
324
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>applewebkit/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
325
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>safari</span><span class='tstring_end'>'</span></span>
|
326
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>googlebot/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
327
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>googlebot</span><span class='tstring_end'>'</span></span>
|
328
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>msnbot</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
329
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>msnbot</span><span class='tstring_end'>'</span></span>
|
330
|
+
<span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>yahoo! slurp</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
331
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>yahoobot</span><span class='tstring_end'>'</span></span>
|
332
|
+
<span class='comment'>#Everything thinks it's mozilla, so this goes last
|
333
|
+
</span> <span class='kw'>elsif</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id index'>index</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>mozilla/</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
334
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>gecko</span><span class='tstring_end'>'</span></span>
|
335
|
+
<span class='kw'>else</span>
|
336
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>unknown</span><span class='tstring_end'>'</span></span>
|
337
|
+
<span class='kw'>end</span>
|
338
|
+
|
339
|
+
<span class='kw'>end</span>
|
340
|
+
<span class='kw'>end</span></pre>
|
341
|
+
</td>
|
342
|
+
</tr>
|
343
|
+
</table>
|
344
|
+
</div>
|
345
|
+
|
346
|
+
<div class="method_details ">
|
347
|
+
<p class="signature " id="browser_webkit_version-instance_method">
|
348
|
+
|
349
|
+
- <strong>browser_webkit_version</strong>
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
</p><div class="docstring">
|
354
|
+
<div class="discussion">
|
355
|
+
<p>Determine the version of webkit.
|
356
|
+
Useful for determing rendering capabilties</p>
|
357
|
+
|
358
|
+
</div>
|
359
|
+
</div>
|
360
|
+
<div class="tags">
|
361
|
+
|
362
|
+
</div><table class="source_code">
|
363
|
+
<tr>
|
364
|
+
<td>
|
365
|
+
<pre class="lines">
|
366
|
+
|
367
|
+
|
368
|
+
52
|
369
|
+
53
|
370
|
+
54
|
371
|
+
55
|
372
|
+
56
|
373
|
+
57
|
374
|
+
58
|
375
|
+
59
|
376
|
+
60
|
377
|
+
61
|
378
|
+
62
|
379
|
+
63</pre>
|
380
|
+
</td>
|
381
|
+
<td>
|
382
|
+
<pre class="code"><span class="info file"># File 'lib/browser_detect.rb', line 52</span>
|
383
|
+
|
384
|
+
<span class='kw'>def</span> <span class='id browser_webkit_version'>browser_webkit_version</span>
|
385
|
+
<span class='kw'>if</span> <span class='id browser_is?'>browser_is?</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>webkit</span><span class='tstring_end'>'</span></span>
|
386
|
+
<span class='id match'>match</span> <span class='op'>=</span> <span class='id ua'>ua</span><span class='period'>.</span><span class='id match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>%r{</span><span class='tstring_content'>\bapplewebkit/([\d\.]+)\b</span><span class='regexp_end'>}</span></span><span class='rparen'>)</span>
|
387
|
+
<span class='kw'>if</span> <span class='lparen'>(</span><span class='id match'>match</span><span class='rparen'>)</span>
|
388
|
+
<span class='id match'>match</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id to_f'>to_f</span>
|
389
|
+
<span class='kw'>else</span>
|
390
|
+
<span class='kw'>nil</span>
|
391
|
+
<span class='kw'>end</span>
|
392
|
+
<span class='kw'>else</span>
|
393
|
+
<span class='kw'>nil</span>
|
394
|
+
<span class='kw'>end</span>
|
395
|
+
<span class='kw'>end</span></pre>
|
396
|
+
</td>
|
397
|
+
</tr>
|
398
|
+
</table>
|
399
|
+
</div>
|
400
|
+
|
401
|
+
<div class="method_details ">
|
402
|
+
<p class="signature " id="ua-instance_method">
|
403
|
+
|
404
|
+
- <strong>ua</strong>
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
</p><div class="docstring">
|
409
|
+
<div class="discussion">
|
410
|
+
<p>Gather the user agent and store it for use.</p>
|
411
|
+
|
412
|
+
</div>
|
413
|
+
</div>
|
414
|
+
<div class="tags">
|
415
|
+
|
416
|
+
</div><table class="source_code">
|
417
|
+
<tr>
|
418
|
+
<td>
|
419
|
+
<pre class="lines">
|
420
|
+
|
421
|
+
|
422
|
+
66
|
423
|
+
67
|
424
|
+
68
|
425
|
+
69
|
426
|
+
70
|
427
|
+
71
|
428
|
+
72</pre>
|
429
|
+
</td>
|
430
|
+
<td>
|
431
|
+
<pre class="code"><span class="info file"># File 'lib/browser_detect.rb', line 66</span>
|
432
|
+
|
433
|
+
<span class='kw'>def</span> <span class='id ua'>ua</span>
|
434
|
+
<span class='ivar'>@ua</span> <span class='op'>||=</span> <span class='kw'>begin</span>
|
435
|
+
<span class='id request'>request</span><span class='period'>.</span><span class='id env'>env</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>HTTP_USER_AGENT</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id downcase'>downcase</span>
|
436
|
+
<span class='kw'>rescue</span>
|
437
|
+
<span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span>
|
438
|
+
<span class='kw'>end</span>
|
439
|
+
<span class='kw'>end</span></pre>
|
440
|
+
</td>
|
441
|
+
</tr>
|
442
|
+
</table>
|
443
|
+
</div>
|
444
|
+
|
445
|
+
</div>
|
446
|
+
|
447
|
+
</div>
|
448
|
+
|
449
|
+
<div id="footer">
|
450
|
+
Generated on Wed Nov 3 16:31:07 2010 by
|
451
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
452
|
+
0.6.1 (ruby-1.9.2).
|
453
|
+
</div>
|
454
|
+
|
455
|
+
</body>
|
456
|
+
</html>
|