browser_detect 0.0.1 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gemspec
2
+ .svn
3
+ .yardoc/
4
+ .bundle/
data/.yardopts ADDED
@@ -0,0 +1,5 @@
1
+ --readme ./README.md
2
+ --markup markdown
3
+ --default-return ""
4
+ --title "BrowserDetect Documentation"
5
+ --template default
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
@@ -1,22 +1,23 @@
1
1
  # -*- encoding: utf-8 -*-
2
- require File.expand_path("../lib/browser_detect/version", __FILE__)
3
-
2
+ files = `git ls-files`.split("\n")
4
3
  Gem::Specification.new do |s|
5
4
  s.name = "browser_detect"
6
- s.version = "0.0.1"
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.homepage = "http://rubygems.org/gems/browser_detect"
11
- s.summary = "Detects the client's browser"
12
- s.description = "Client browser detector"
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 = `git ls-files`.split("\n")
20
- s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
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> &raquo;
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'>&quot;</span><span class='tstring_content'>0.0.3</span><span class='tstring_end'>&quot;</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 &lt;%= 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 &lt;%= 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'>&amp;&amp;</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'>&amp;&amp;</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'>&amp;&amp;</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'>&amp;&amp;</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'>&amp;&amp;</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'>&amp;&amp;</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'>&amp;&amp;</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>