brauser 2.1.4 → 3.0.0
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/Gemfile +3 -3
- data/README.md +3 -3
- data/brauser.gemspec +1 -1
- data/doc/Brauser.html +6 -5
- data/doc/Brauser/Browser.html +553 -541
- data/doc/Brauser/BrowserMethods.html +1 -1
- data/doc/Brauser/BrowserMethods/Attributes.html +21 -21
- data/doc/Brauser/BrowserMethods/General.html +1 -1
- data/doc/Brauser/BrowserMethods/General/ClassMethods.html +29 -29
- data/doc/Brauser/BrowserMethods/Parsing.html +15 -15
- data/doc/Brauser/BrowserMethods/PartialQuerying.html +45 -55
- data/doc/Brauser/BrowserMethods/Querying.html +21 -21
- data/doc/Brauser/BrowserMethods/Register.html +1 -1
- data/doc/Brauser/BrowserMethods/Register/ClassMethods.html +116 -425
- data/doc/Brauser/Hooks.html +1 -1
- data/doc/Brauser/Hooks/RubyOnRails.html +2 -2
- data/doc/Brauser/Query.html +45 -1267
- data/doc/Brauser/Version.html +4 -4
- data/doc/_index.html +33 -4
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +4 -4
- data/doc/index.html +4 -4
- data/doc/method_list.html +89 -65
- data/doc/top-level-namespace.html +1 -1
- data/lib/brauser.rb +1 -0
- data/lib/brauser/browser.rb +163 -234
- data/lib/brauser/definition.rb +54 -0
- data/lib/brauser/hooks.rb +1 -1
- data/lib/brauser/query.rb +68 -59
- data/lib/brauser/version.rb +3 -3
- data/spec/brauser/browser_spec.rb +222 -292
- data/spec/brauser/definition_spec.rb +39 -0
- data/spec/brauser/hooks_spec.rb +2 -3
- data/spec/brauser/query_spec.rb +29 -33
- metadata +8 -5
@@ -125,7 +125,7 @@
|
|
125
125
|
</div>
|
126
126
|
|
127
127
|
<div id="footer">
|
128
|
-
Generated on
|
128
|
+
Generated on Sun May 19 12:02:56 2013 by
|
129
129
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
130
130
|
0.8.6.1 (ruby-1.9.3).
|
131
131
|
</div>
|
@@ -112,7 +112,7 @@
|
|
112
112
|
<li class="public ">
|
113
113
|
<span class="summary_signature">
|
114
114
|
|
115
|
-
<a href="#
|
115
|
+
<a href="#add-instance_method" title="#add (instance method)">- (Boolean) <strong>add</strong>(type, definition) </a>
|
116
116
|
|
117
117
|
|
118
118
|
|
@@ -126,7 +126,7 @@
|
|
126
126
|
|
127
127
|
|
128
128
|
|
129
|
-
<span class="summary_desc"><div class='inline'><p>
|
129
|
+
<span class="summary_desc"><div class='inline'><p>Adds a definitions for recognition.</p>
|
130
130
|
</div></span>
|
131
131
|
|
132
132
|
</li>
|
@@ -135,7 +135,7 @@
|
|
135
135
|
<li class="public ">
|
136
136
|
<span class="summary_signature">
|
137
137
|
|
138
|
-
<a href="#
|
138
|
+
<a href="#add_default_browsers-instance_method" title="#add_default_browsers (instance method)">- (Boolean) <strong>add_default_browsers</strong> </a>
|
139
139
|
|
140
140
|
|
141
141
|
|
@@ -149,7 +149,7 @@
|
|
149
149
|
|
150
150
|
|
151
151
|
|
152
|
-
<span class="summary_desc"><div class='inline'><p>
|
152
|
+
<span class="summary_desc"><div class='inline'><p>Adds definitions for a default list of browsers that can be recognized.</p>
|
153
153
|
</div></span>
|
154
154
|
|
155
155
|
</li>
|
@@ -158,7 +158,7 @@
|
|
158
158
|
<li class="public ">
|
159
159
|
<span class="summary_signature">
|
160
160
|
|
161
|
-
<a href="#
|
161
|
+
<a href="#add_default_languages-instance_method" title="#add_default_languages (instance method)">- (Boolean) <strong>add_default_languages</strong> </a>
|
162
162
|
|
163
163
|
|
164
164
|
|
@@ -172,7 +172,7 @@
|
|
172
172
|
|
173
173
|
|
174
174
|
|
175
|
-
<span class="summary_desc"><div class='inline'><p>
|
175
|
+
<span class="summary_desc"><div class='inline'><p>Adds a default list of languages that can be recognized.</p>
|
176
176
|
</div></span>
|
177
177
|
|
178
178
|
</li>
|
@@ -181,7 +181,7 @@
|
|
181
181
|
<li class="public ">
|
182
182
|
<span class="summary_signature">
|
183
183
|
|
184
|
-
<a href="#
|
184
|
+
<a href="#add_default_platforms-instance_method" title="#add_default_platforms (instance method)">- (Boolean) <strong>add_default_platforms</strong> </a>
|
185
185
|
|
186
186
|
|
187
187
|
|
@@ -195,53 +195,7 @@
|
|
195
195
|
|
196
196
|
|
197
197
|
|
198
|
-
<span class="summary_desc"><div class='inline'><p>
|
199
|
-
</div></span>
|
200
|
-
|
201
|
-
</li>
|
202
|
-
|
203
|
-
|
204
|
-
<li class="public ">
|
205
|
-
<span class="summary_signature">
|
206
|
-
|
207
|
-
<a href="#register_language-instance_method" title="#register_language (instance method)">- (Boolean) <strong>register_language</strong>(code, label = nil) </a>
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
</span>
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
<span class="summary_desc"><div class='inline'><p>Registers a new language that can be recognized.</p>
|
222
|
-
</div></span>
|
223
|
-
|
224
|
-
</li>
|
225
|
-
|
226
|
-
|
227
|
-
<li class="public ">
|
228
|
-
<span class="summary_signature">
|
229
|
-
|
230
|
-
<a href="#register_platform-instance_method" title="#register_platform (instance method)">- (Boolean) <strong>register_platform</strong>(name, matcher = nil, label = nil) </a>
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
</span>
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
<span class="summary_desc"><div class='inline'><p>Registers a new platform that can be recognized.</p>
|
198
|
+
<span class="summary_desc"><div class='inline'><p>Adds a default list of platforms that can be recognized.</p>
|
245
199
|
</div></span>
|
246
200
|
|
247
201
|
</li>
|
@@ -257,9 +211,9 @@
|
|
257
211
|
|
258
212
|
|
259
213
|
<div class="method_details first">
|
260
|
-
<h3 class="signature first" id="
|
214
|
+
<h3 class="signature first" id="add-instance_method">
|
261
215
|
|
262
|
-
- (<tt>Boolean</tt>) <strong>
|
216
|
+
- (<tt>Boolean</tt>) <strong>add</strong>(type, definition)
|
263
217
|
|
264
218
|
|
265
219
|
|
@@ -267,7 +221,7 @@
|
|
267
221
|
|
268
222
|
</h3><div class="docstring">
|
269
223
|
<div class="discussion">
|
270
|
-
<p>
|
224
|
+
<p>Adds a definitions for recognition.</p>
|
271
225
|
|
272
226
|
|
273
227
|
</div>
|
@@ -278,66 +232,30 @@
|
|
278
232
|
|
279
233
|
<li>
|
280
234
|
|
281
|
-
<span class='name'>
|
235
|
+
<span class='name'>type</span>
|
282
236
|
|
283
237
|
|
284
|
-
<span class='type'>(<tt>Symbol
|
238
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
285
239
|
|
286
240
|
|
287
241
|
|
288
242
|
—
|
289
|
-
<div class='inline'><p>The
|
243
|
+
<div class='inline'><p>The type of the definition. Can be <code>:browsers</code>, <code>:platforms</code> or <code>:languages</code>.</p>
|
290
244
|
</div>
|
291
245
|
|
292
246
|
</li>
|
293
247
|
|
294
248
|
<li>
|
295
249
|
|
296
|
-
<span class='name'>
|
297
|
-
|
250
|
+
<span class='name'>definition</span>
|
298
251
|
|
299
|
-
<span class='type'>(<tt>String|Regexp|Block</tt>)</span>
|
300
252
|
|
253
|
+
<span class='type'>(<tt><span class='object_link'><a href="../../Definition.html" title="Brauser::Definition (class)">Definition</a></span>|Array</tt>)</span>
|
301
254
|
|
302
|
-
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
303
255
|
|
304
256
|
|
305
257
|
—
|
306
|
-
<div class='inline'><p>The
|
307
|
-
</div>
|
308
|
-
|
309
|
-
</li>
|
310
|
-
|
311
|
-
<li>
|
312
|
-
|
313
|
-
<span class='name'>version_match</span>
|
314
|
-
|
315
|
-
|
316
|
-
<span class='type'>(<tt>String|Regexp|Block</tt>)</span>
|
317
|
-
|
318
|
-
|
319
|
-
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
320
|
-
|
321
|
-
|
322
|
-
—
|
323
|
-
<div class='inline'><p>The match for the version. If a block, it will be yield with the browser name and the user agent and must return the browser version.</p>
|
324
|
-
</div>
|
325
|
-
|
326
|
-
</li>
|
327
|
-
|
328
|
-
<li>
|
329
|
-
|
330
|
-
<span class='name'>label</span>
|
331
|
-
|
332
|
-
|
333
|
-
<span class='type'>(<tt>String</tt>)</span>
|
334
|
-
|
335
|
-
|
336
|
-
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
337
|
-
|
338
|
-
|
339
|
-
—
|
340
|
-
<div class='inline'><p>A human readable name of the browser.</p>
|
258
|
+
<div class='inline'><p>The definition to add. Can be also an array of definitions.</p>
|
341
259
|
</div>
|
342
260
|
|
343
261
|
</li>
|
@@ -355,7 +273,7 @@
|
|
355
273
|
|
356
274
|
|
357
275
|
—
|
358
|
-
<div class='inline'><p><code>true</code> if at least one
|
276
|
+
<div class='inline'><p><code>true</code> if at least one definition has been added, <code>false</code> otherwise.</p>
|
359
277
|
</div>
|
360
278
|
|
361
279
|
</li>
|
@@ -368,17 +286,43 @@
|
|
368
286
|
<pre class="lines">
|
369
287
|
|
370
288
|
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
289
|
+
22
|
290
|
+
23
|
291
|
+
24
|
292
|
+
25
|
293
|
+
26
|
294
|
+
27
|
295
|
+
28
|
296
|
+
29
|
297
|
+
30
|
298
|
+
31
|
299
|
+
32
|
300
|
+
33
|
301
|
+
34
|
302
|
+
35
|
303
|
+
36
|
304
|
+
37
|
305
|
+
38</pre>
|
375
306
|
</td>
|
376
307
|
<td>
|
377
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
308
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 22</span>
|
309
|
+
|
310
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_definition'>definition</span><span class='rparen'>)</span>
|
311
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>false</span>
|
312
|
+
|
313
|
+
<span class='kw'>if</span> <span class='lbracket'>[</span><span class='symbol'>:browsers</span><span class='comma'>,</span> <span class='symbol'>:platforms</span><span class='comma'>,</span> <span class='symbol'>:languages</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
314
|
+
<span class='ivar'>@definitions</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
315
|
+
<span class='ivar'>@definitions</span><span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='rbracket'>]</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
378
316
|
|
379
|
-
<span class='
|
380
|
-
|
381
|
-
|
317
|
+
<span class='id identifier rubyid_definition'>definition</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_d'>d</span><span class='op'>|</span>
|
318
|
+
<span class='kw'>if</span> <span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Definition</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
319
|
+
<span class='ivar'>@definitions</span><span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='rbracket'>]</span><span class='lbracket'>[</span><span class='id identifier rubyid_d'>d</span><span class='period'>.</span><span class='id identifier rubyid_tag'>tag</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_d'>d</span>
|
320
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>true</span>
|
321
|
+
<span class='kw'>end</span>
|
322
|
+
<span class='kw'>end</span>
|
323
|
+
<span class='kw'>end</span>
|
324
|
+
|
325
|
+
<span class='id identifier rubyid_rv'>rv</span>
|
382
326
|
<span class='kw'>end</span></pre>
|
383
327
|
</td>
|
384
328
|
</tr>
|
@@ -386,9 +330,9 @@
|
|
386
330
|
</div>
|
387
331
|
|
388
332
|
<div class="method_details ">
|
389
|
-
<h3 class="signature " id="
|
333
|
+
<h3 class="signature " id="add_default_browsers-instance_method">
|
390
334
|
|
391
|
-
- (<tt>Boolean</tt>) <strong>
|
335
|
+
- (<tt>Boolean</tt>) <strong>add_default_browsers</strong>
|
392
336
|
|
393
337
|
|
394
338
|
|
@@ -396,7 +340,7 @@
|
|
396
340
|
|
397
341
|
</h3><div class="docstring">
|
398
342
|
<div class="discussion">
|
399
|
-
<p>
|
343
|
+
<p>Adds definitions for a default list of browsers that can be recognized.</p>
|
400
344
|
|
401
345
|
|
402
346
|
</div>
|
@@ -427,25 +371,15 @@
|
|
427
371
|
<pre class="lines">
|
428
372
|
|
429
373
|
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
23
|
434
|
-
24
|
435
|
-
25
|
436
|
-
26
|
437
|
-
27</pre>
|
374
|
+
43
|
375
|
+
44
|
376
|
+
45</pre>
|
438
377
|
</td>
|
439
378
|
<td>
|
440
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
441
|
-
|
442
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_register_default_browsers'>register_default_browsers</span>
|
443
|
-
<span class='ivar'>@browsers</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
379
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 43</span>
|
444
380
|
|
445
|
-
|
446
|
-
<span class='id identifier
|
447
|
-
|
448
|
-
<span class='ivar'>@browsers</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
|
381
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_add_default_browsers'>add_default_browsers</span>
|
382
|
+
<span class='id identifier rubyid_add_mobile_browsers'>add_mobile_browsers</span> <span class='op'>&&</span> <span class='id identifier rubyid_add_major_desktop_browsers'>add_major_desktop_browsers</span> <span class='op'>&&</span> <span class='id identifier rubyid_add_msie_browsers'>add_msie_browsers</span> <span class='op'>&&</span> <span class='id identifier rubyid_add_minor_desktop_browsers'>add_minor_desktop_browsers</span>
|
449
383
|
<span class='kw'>end</span></pre>
|
450
384
|
</td>
|
451
385
|
</tr>
|
@@ -453,9 +387,9 @@
|
|
453
387
|
</div>
|
454
388
|
|
455
389
|
<div class="method_details ">
|
456
|
-
<h3 class="signature " id="
|
390
|
+
<h3 class="signature " id="add_default_languages-instance_method">
|
457
391
|
|
458
|
-
- (<tt>Boolean</tt>) <strong>
|
392
|
+
- (<tt>Boolean</tt>) <strong>add_default_languages</strong>
|
459
393
|
|
460
394
|
|
461
395
|
|
@@ -463,7 +397,7 @@
|
|
463
397
|
|
464
398
|
</h3><div class="docstring">
|
465
399
|
<div class="discussion">
|
466
|
-
<p>
|
400
|
+
<p>Adds a default list of languages that can be recognized.</p>
|
467
401
|
|
468
402
|
|
469
403
|
</div>
|
@@ -494,20 +428,6 @@
|
|
494
428
|
<pre class="lines">
|
495
429
|
|
496
430
|
|
497
|
-
57
|
498
|
-
58
|
499
|
-
59
|
500
|
-
60
|
501
|
-
61
|
502
|
-
62
|
503
|
-
63
|
504
|
-
64
|
505
|
-
65
|
506
|
-
66
|
507
|
-
67
|
508
|
-
68
|
509
|
-
69
|
510
|
-
70
|
511
431
|
71
|
512
432
|
72
|
513
433
|
73
|
@@ -614,15 +534,23 @@
|
|
614
534
|
174
|
615
535
|
175
|
616
536
|
176
|
617
|
-
177
|
537
|
+
177
|
538
|
+
178
|
539
|
+
179
|
540
|
+
180
|
541
|
+
181
|
542
|
+
182
|
543
|
+
183
|
544
|
+
184
|
545
|
+
185
|
546
|
+
186
|
547
|
+
187</pre>
|
618
548
|
</td>
|
619
549
|
<td>
|
620
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
621
|
-
|
622
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_register_default_languages'>register_default_languages</span>
|
623
|
-
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
550
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 71</span>
|
624
551
|
|
625
|
-
|
552
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_add_default_languages'>add_default_languages</span>
|
553
|
+
<span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='symbol'>:languages</span><span class='comma'>,</span> <span class='lbrace'>{</span>
|
626
554
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>af</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Afrikaans</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
627
555
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>sq</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Albanian</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
628
556
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>eu</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Basque</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
@@ -736,9 +664,7 @@
|
|
736
664
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>xh</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Xshosa</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
737
665
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ji</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Yiddish</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
738
666
|
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>zu</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Zulu</span><span class='tstring_end'>"</span></span>
|
739
|
-
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
740
|
-
|
741
|
-
<span class='ivar'>@languages</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
|
667
|
+
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_code'>code</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='op'>|</span> <span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Definition</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_code'>code</span><span class='comma'>,</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_code'>code</span><span class='rparen'>)</span> <span class='rbrace'>}</span><span class='rparen'>)</span>
|
742
668
|
<span class='kw'>end</span></pre>
|
743
669
|
</td>
|
744
670
|
</tr>
|
@@ -746,9 +672,9 @@
|
|
746
672
|
</div>
|
747
673
|
|
748
674
|
<div class="method_details ">
|
749
|
-
<h3 class="signature " id="
|
675
|
+
<h3 class="signature " id="add_default_platforms-instance_method">
|
750
676
|
|
751
|
-
- (<tt>Boolean</tt>) <strong>
|
677
|
+
- (<tt>Boolean</tt>) <strong>add_default_platforms</strong>
|
752
678
|
|
753
679
|
|
754
680
|
|
@@ -756,7 +682,7 @@
|
|
756
682
|
|
757
683
|
</h3><div class="docstring">
|
758
684
|
<div class="discussion">
|
759
|
-
<p>
|
685
|
+
<p>Adds a default list of platforms that can be recognized.</p>
|
760
686
|
|
761
687
|
|
762
688
|
</div>
|
@@ -787,278 +713,43 @@
|
|
787
713
|
<pre class="lines">
|
788
714
|
|
789
715
|
|
790
|
-
32
|
791
|
-
33
|
792
|
-
34
|
793
|
-
35
|
794
|
-
36
|
795
|
-
37
|
796
|
-
38
|
797
|
-
39
|
798
|
-
40
|
799
|
-
41
|
800
|
-
42
|
801
|
-
43
|
802
|
-
44
|
803
|
-
45
|
804
|
-
46
|
805
|
-
47
|
806
|
-
48
|
807
|
-
49
|
808
716
|
50
|
809
717
|
51
|
810
|
-
52
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
<span class='lbracket'>[</span><span class='symbol'>:psp</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>psp</span><span class='regexp_end'>/i</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Sony Playstation Portable</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
826
|
-
<span class='lbracket'>[</span><span class='symbol'>:ps3</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>playstation 3</span><span class='regexp_end'>/i</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Sony Playstation 3</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
827
|
-
<span class='lbracket'>[</span><span class='symbol'>:wii</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>wii</span><span class='regexp_end'>/i</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Nintendo Wii</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
828
|
-
|
829
|
-
<span class='lbracket'>[</span><span class='symbol'>:linux</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>linux</span><span class='regexp_end'>/i</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Linux</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
830
|
-
<span class='lbracket'>[</span><span class='symbol'>:osx</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>mac|macintosh|mac os x</span><span class='regexp_end'>/i</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Apple MacOS X</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
831
|
-
<span class='lbracket'>[</span><span class='symbol'>:windows</span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>windows</span><span class='regexp_end'>/i</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Microsoft Windows</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span>
|
832
|
-
<span class='rbracket'>]</span><span class='rparen'>)</span>
|
833
|
-
|
834
|
-
<span class='ivar'>@platforms</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
|
835
|
-
<span class='kw'>end</span></pre>
|
836
|
-
</td>
|
837
|
-
</tr>
|
838
|
-
</table>
|
839
|
-
</div>
|
840
|
-
|
841
|
-
<div class="method_details ">
|
842
|
-
<h3 class="signature " id="register_language-instance_method">
|
843
|
-
|
844
|
-
- (<tt>Boolean</tt>) <strong>register_language</strong>(code, label = nil)
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
</h3><div class="docstring">
|
851
|
-
<div class="discussion">
|
852
|
-
<p>Registers a new language that can be recognized.</p>
|
853
|
-
|
854
|
-
|
855
|
-
</div>
|
856
|
-
</div>
|
857
|
-
<div class="tags">
|
858
|
-
<p class="tag_title">Parameters:</p>
|
859
|
-
<ul class="param">
|
860
|
-
|
861
|
-
<li>
|
862
|
-
|
863
|
-
<span class='name'>code</span>
|
864
|
-
|
865
|
-
|
866
|
-
<span class='type'>(<tt>String|Hash</tt>)</span>
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
—
|
871
|
-
<div class='inline'><p>The language code or an hash with codes as keys and label as values.</p>
|
872
|
-
</div>
|
873
|
-
|
874
|
-
</li>
|
875
|
-
|
876
|
-
<li>
|
877
|
-
|
878
|
-
<span class='name'>label</span>
|
879
|
-
|
880
|
-
|
881
|
-
<span class='type'>(<tt>String</tt>)</span>
|
882
|
-
|
883
|
-
|
884
|
-
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
885
|
-
|
886
|
-
|
887
|
-
—
|
888
|
-
<div class='inline'><p>The language name. Ignored if code is an Hash.</p>
|
889
|
-
</div>
|
890
|
-
|
891
|
-
</li>
|
892
|
-
|
893
|
-
</ul>
|
894
|
-
|
895
|
-
<p class="tag_title">Returns:</p>
|
896
|
-
<ul class="return">
|
897
|
-
|
898
|
-
<li>
|
899
|
-
|
900
|
-
|
901
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
902
|
-
|
903
|
-
|
904
|
-
|
905
|
-
—
|
906
|
-
<div class='inline'><p><code>true</code> if at least one language has been added, <code>false</code> otherwise.</p>
|
907
|
-
</div>
|
908
|
-
|
909
|
-
</li>
|
910
|
-
|
911
|
-
</ul>
|
912
|
-
|
913
|
-
</div><table class="source_code">
|
914
|
-
<tr>
|
915
|
-
<td>
|
916
|
-
<pre class="lines">
|
917
|
-
|
918
|
-
|
919
|
-
207
|
920
|
-
208
|
921
|
-
209
|
922
|
-
210
|
923
|
-
211
|
924
|
-
212
|
925
|
-
213
|
926
|
-
214
|
927
|
-
215
|
928
|
-
216
|
929
|
-
217
|
930
|
-
218
|
931
|
-
219
|
932
|
-
220</pre>
|
933
|
-
</td>
|
934
|
-
<td>
|
935
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 207</span>
|
936
|
-
|
937
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_register_language'>register_language</span><span class='lparen'>(</span><span class='id identifier rubyid_code'>code</span><span class='comma'>,</span> <span class='id identifier rubyid_label'>label</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
938
|
-
<span class='ivar'>@languages</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
|
939
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>false</span>
|
940
|
-
<span class='id identifier rubyid_code'>code</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='id identifier rubyid_code'>code</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span> <span class='op'>=></span> <span class='id identifier rubyid_label'>label</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rbrace'>}</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_code'>code</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Hash</span><span class='rparen'>)</span>
|
941
|
-
|
942
|
-
<span class='id identifier rubyid_code'>code</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_c'>c</span><span class='comma'>,</span> <span class='id identifier rubyid_l'>l</span><span class='op'>|</span>
|
943
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&&</span> <span class='id identifier rubyid_l'>l</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
|
944
|
-
<span class='ivar'>@languages</span><span class='lbracket'>[</span><span class='id identifier rubyid_c'>c</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_l'>l</span>
|
945
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>true</span>
|
946
|
-
<span class='kw'>end</span>
|
947
|
-
<span class='kw'>end</span>
|
948
|
-
|
949
|
-
<span class='id identifier rubyid_rv'>rv</span>
|
950
|
-
<span class='kw'>end</span></pre>
|
951
|
-
</td>
|
952
|
-
</tr>
|
953
|
-
</table>
|
954
|
-
</div>
|
955
|
-
|
956
|
-
<div class="method_details ">
|
957
|
-
<h3 class="signature " id="register_platform-instance_method">
|
958
|
-
|
959
|
-
- (<tt>Boolean</tt>) <strong>register_platform</strong>(name, matcher = nil, label = nil)
|
960
|
-
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
</h3><div class="docstring">
|
966
|
-
<div class="discussion">
|
967
|
-
<p>Registers a new platform that can be recognized.</p>
|
968
|
-
|
969
|
-
|
970
|
-
</div>
|
971
|
-
</div>
|
972
|
-
<div class="tags">
|
973
|
-
<p class="tag_title">Parameters:</p>
|
974
|
-
<ul class="param">
|
975
|
-
|
976
|
-
<li>
|
977
|
-
|
978
|
-
<span class='name'>name</span>
|
979
|
-
|
980
|
-
|
981
|
-
<span class='type'>(<tt>Symbol|Array</tt>)</span>
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
—
|
986
|
-
<div class='inline'><p>The platform name or a list of platforms (a list of array with <code>[name, matcher, label]</code> entries).</p>
|
987
|
-
</div>
|
988
|
-
|
989
|
-
</li>
|
990
|
-
|
991
|
-
<li>
|
992
|
-
|
993
|
-
<span class='name'>matcher</span>
|
994
|
-
|
995
|
-
|
996
|
-
<span class='type'>(<tt>StringRegexp|Block</tt>)</span>
|
997
|
-
|
998
|
-
|
999
|
-
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1000
|
-
|
1001
|
-
|
1002
|
-
—
|
1003
|
-
<div class='inline'><p>The matcher for the platform. If a block, it will be yielded with the browser name and the user agent and must return <code>true</code> if the platform was recognized.</p>
|
1004
|
-
</div>
|
1005
|
-
|
1006
|
-
</li>
|
1007
|
-
|
1008
|
-
<li>
|
1009
|
-
|
1010
|
-
<span class='name'>label</span>
|
1011
|
-
|
1012
|
-
|
1013
|
-
<span class='type'>(<tt>String</tt>)</span>
|
1014
|
-
|
1015
|
-
|
1016
|
-
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1017
|
-
|
1018
|
-
|
1019
|
-
—
|
1020
|
-
<div class='inline'><p>A human readable name of the platform.</p>
|
1021
|
-
</div>
|
1022
|
-
|
1023
|
-
</li>
|
1024
|
-
|
1025
|
-
</ul>
|
1026
|
-
|
1027
|
-
<p class="tag_title">Returns:</p>
|
1028
|
-
<ul class="return">
|
1029
|
-
|
1030
|
-
<li>
|
1031
|
-
|
1032
|
-
|
1033
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
1034
|
-
|
1035
|
-
|
1036
|
-
|
1037
|
-
—
|
1038
|
-
<div class='inline'><p><code>true</code> if at least one platform has been added, <code>false</code> otherwise.</p>
|
1039
|
-
</div>
|
1040
|
-
|
1041
|
-
</li>
|
1042
|
-
|
1043
|
-
</ul>
|
1044
|
-
|
1045
|
-
</div><table class="source_code">
|
1046
|
-
<tr>
|
1047
|
-
<td>
|
1048
|
-
<pre class="lines">
|
1049
|
-
|
1050
|
-
|
1051
|
-
197
|
1052
|
-
198
|
1053
|
-
199
|
1054
|
-
200</pre>
|
718
|
+
52
|
719
|
+
53
|
720
|
+
54
|
721
|
+
55
|
722
|
+
56
|
723
|
+
57
|
724
|
+
58
|
725
|
+
59
|
726
|
+
60
|
727
|
+
61
|
728
|
+
62
|
729
|
+
63
|
730
|
+
64
|
731
|
+
65
|
732
|
+
66</pre>
|
1055
733
|
</td>
|
1056
734
|
<td>
|
1057
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
1058
|
-
|
1059
|
-
<span class='kw'>def</span> <span class='id identifier
|
1060
|
-
<span class='
|
1061
|
-
|
735
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 50</span>
|
736
|
+
|
737
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_add_default_platforms'>add_default_platforms</span>
|
738
|
+
<span class='id identifier rubyid_add'>add</span><span class='lparen'>(</span><span class='symbol'>:platforms</span><span class='comma'>,</span> <span class='lbracket'>[</span>
|
739
|
+
<span class='lbracket'>[</span><span class='symbol'>:symbian</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Symbian</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>s60|symb</span><span class='regexp_end'>/i</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
740
|
+
<span class='lbracket'>[</span><span class='symbol'>:windows_phone</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Microsoft Windows Phone</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>windows phone</span><span class='regexp_end'>/i</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
741
|
+
<span class='lbracket'>[</span><span class='symbol'>:kindle</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Nokia Symbian</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>kindle|silk</span><span class='regexp_end'>/i</span></span><span class='comma'>,</span> <span class='rbracket'>]</span><span class='comma'>,</span>
|
742
|
+
<span class='lbracket'>[</span><span class='symbol'>:ios</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Apple iOS</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='const'>Proc</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid__'>_</span><span class='comma'>,</span> <span class='id identifier rubyid_agent'>agent</span><span class='op'>|</span> <span class='lbracket'>[</span><span class='symbol'>:iphone</span><span class='comma'>,</span> <span class='symbol'>:ipad</span><span class='comma'>,</span> <span class='symbol'>:ipod</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_agent'>agent</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>ipad|iphone|ipod</span><span class='regexp_end'>/i</span></span> <span class='rbrace'>}</span><span class='rbracket'>]</span><span class='comma'>,</span>
|
743
|
+
<span class='lbracket'>[</span><span class='symbol'>:android</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Android</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>android</span><span class='regexp_end'>/i</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
744
|
+
<span class='lbracket'>[</span><span class='symbol'>:blackberry</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>RIM BlackBerry</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>blackberry</span><span class='regexp_end'>/i</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
745
|
+
<span class='lbracket'>[</span><span class='symbol'>:psp</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Sony Playstation Portable</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>psp</span><span class='regexp_end'>/i</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
746
|
+
<span class='lbracket'>[</span><span class='symbol'>:ps3</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Sony Playstation 3</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>playstation 3</span><span class='regexp_end'>/i</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
747
|
+
<span class='lbracket'>[</span><span class='symbol'>:wii</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Nintendo Wii</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>wii</span><span class='regexp_end'>/i</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
748
|
+
|
749
|
+
<span class='lbracket'>[</span><span class='symbol'>:linux</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Linux</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>linux</span><span class='regexp_end'>/i</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
750
|
+
<span class='lbracket'>[</span><span class='symbol'>:osx</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Apple MacOS X</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>mac|macintosh|mac os x</span><span class='regexp_end'>/i</span></span><span class='rbracket'>]</span><span class='comma'>,</span>
|
751
|
+
<span class='lbracket'>[</span><span class='symbol'>:windows</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Microsoft Windows</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>windows</span><span class='regexp_end'>/i</span></span><span class='rbracket'>]</span>
|
752
|
+
<span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_platform'>platform</span><span class='op'>|</span> <span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Definition</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:new</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_platform'>platform</span><span class='rparen'>)</span> <span class='rbrace'>}</span><span class='rparen'>)</span>
|
1062
753
|
<span class='kw'>end</span></pre>
|
1063
754
|
</td>
|
1064
755
|
</tr>
|
@@ -1070,7 +761,7 @@
|
|
1070
761
|
</div>
|
1071
762
|
|
1072
763
|
<div id="footer">
|
1073
|
-
Generated on
|
764
|
+
Generated on Sun May 19 12:02:56 2013 by
|
1074
765
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1075
766
|
0.8.6.1 (ruby-1.9.3).
|
1076
767
|
</div>
|