brauser 4.0.0 → 4.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis-gemfile +2 -2
- data/.travis.yml +1 -3
- data/.yardopts +1 -1
- data/CHANGELOG.md +4 -0
- data/Gemfile +3 -3
- data/README.md +30 -2
- data/Rakefile +14 -2
- data/brauser.gemspec +1 -1
- data/doc/Brauser.html +3 -3
- data/doc/Brauser/Browser.html +2208 -1908
- data/doc/Brauser/Definitions.html +29 -25
- data/doc/Brauser/Definitions/Base.html +18 -16
- data/doc/Brauser/Definitions/Browser.html +215 -210
- data/doc/Brauser/Definitions/Language.html +40 -37
- data/doc/Brauser/Definitions/Platform.html +74 -70
- data/doc/Brauser/Hooks.html +4 -4
- data/doc/Brauser/Hooks/RubyOnRails.html +12 -10
- data/doc/Brauser/Parser.html +27 -24
- data/doc/Brauser/Value.html +44 -40
- data/doc/Brauser/Version.html +11 -7
- data/doc/_index.html +4 -4
- data/doc/class_list.html +5 -1
- data/doc/file.README.html +77 -50
- data/doc/file_list.html +5 -1
- data/doc/frames.html +1 -1
- data/doc/index.html +77 -50
- data/doc/js/full_list.js +4 -1
- data/doc/method_list.html +31 -21
- data/doc/top-level-namespace.html +3 -3
- data/lib/brauser/browser.rb +15 -5
- data/lib/brauser/definitions/platform.rb +1 -1
- data/lib/brauser/hooks.rb +1 -1
- data/lib/brauser/version.rb +1 -1
- data/spec/brauser/browser_spec.rb +14 -0
- data/spec/spec_helper.rb +1 -8
- metadata +5 -5
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Module: Brauser::Definitions
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.7.
|
9
|
+
— Documentation by YARD 0.8.7.6
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -273,9 +273,10 @@
|
|
273
273
|
<td>
|
274
274
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/base.rb', line 34</span>
|
275
275
|
|
276
|
-
<span class='kw'>def</span> <span class='kw'>self</span><span class='
|
277
|
-
<span class='ivar'>@definitions</span><span class='
|
278
|
-
<span class='kw'>end</span
|
276
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_browsers identifier id'>browsers</span>
|
277
|
+
<span class='rubyid_@definitions ivar id'>@definitions</span><span class='lbrack token'>[</span><span class='symbol val'>:browsers</span><span class='rbrack token'>]</span>
|
278
|
+
<span class='rubyid_end end kw'>end</span>
|
279
|
+
</pre>
|
279
280
|
</td>
|
280
281
|
</tr>
|
281
282
|
</table>
|
@@ -332,9 +333,10 @@
|
|
332
333
|
<td>
|
333
334
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/base.rb', line 52</span>
|
334
335
|
|
335
|
-
<span class='kw'>def</span> <span class='kw'>self</span><span class='
|
336
|
-
<span class='ivar'>@definitions</span><span class='
|
337
|
-
<span class='kw'>end</span
|
336
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_languages identifier id'>languages</span>
|
337
|
+
<span class='rubyid_@definitions ivar id'>@definitions</span><span class='lbrack token'>[</span><span class='symbol val'>:languages</span><span class='rbrack token'>]</span>
|
338
|
+
<span class='rubyid_end end kw'>end</span>
|
339
|
+
</pre>
|
338
340
|
</td>
|
339
341
|
</tr>
|
340
342
|
</table>
|
@@ -391,9 +393,10 @@
|
|
391
393
|
<td>
|
392
394
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/base.rb', line 43</span>
|
393
395
|
|
394
|
-
<span class='kw'>def</span> <span class='kw'>self</span><span class='
|
395
|
-
<span class='ivar'>@definitions</span><span class='
|
396
|
-
<span class='kw'>end</span
|
396
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_platforms identifier id'>platforms</span>
|
397
|
+
<span class='rubyid_@definitions ivar id'>@definitions</span><span class='lbrack token'>[</span><span class='symbol val'>:platforms</span><span class='rbrack token'>]</span>
|
398
|
+
<span class='rubyid_end end kw'>end</span>
|
399
|
+
</pre>
|
397
400
|
</td>
|
398
401
|
</tr>
|
399
402
|
</table>
|
@@ -505,19 +508,20 @@
|
|
505
508
|
<td>
|
506
509
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/base.rb', line 15</span>
|
507
510
|
|
508
|
-
<span class='kw'>def</span> <span class='kw'>self</span><span class='
|
509
|
-
<span class='
|
510
|
-
<span class='kw'>case</span> <span class='
|
511
|
-
<span class='kw'>when</span> <span class='symbol'>:browser</span> <span class='kw'>then</span> <span class='
|
512
|
-
<span class='kw'>when</span> <span class='symbol'>:language</span> <span class='kw'>then</span> <span class='
|
513
|
-
<span class='kw'>when</span> <span class='symbol'>:platform</span> <span class='kw'>then</span> <span class='
|
514
|
-
<span class='kw'>else</span> <span class='
|
515
|
-
<span class='kw'>end</span>
|
516
|
-
|
517
|
-
<span class='ivar'>@definitions</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='label'>browsers:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='label'>languages:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='label'>platforms:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rbrace'>}</span>
|
518
|
-
<span class='
|
519
|
-
<span class='ivar'>@definitions</span><span class='
|
520
|
-
<span class='kw'>end</span
|
511
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_self self kw'>self</span><span class='dot token'>.</span><span class='rubyid_register identifier id'>register</span><span class='lparen token'>(</span><span class='rubyid_type identifier id'>type</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='rubyid_args identifier id'>args</span><span class='comma token'>,</span> <span class='pow op'>**</span><span class='rubyid_kwargs identifier id'>kwargs</span><span class='comma token'>,</span> <span class='bitand op'>&</span><span class='rubyid_block identifier id'>block</span><span class='rparen token'>)</span>
|
512
|
+
<span class='rubyid_klass identifier id'>klass</span> <span class='assign token'>=</span>
|
513
|
+
<span class='rubyid_case case kw'>case</span> <span class='rubyid_type identifier id'>type</span>
|
514
|
+
<span class='rubyid_when when kw'>when</span> <span class='symbol val'>:browser</span> <span class='rubyid_then then kw'>then</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Definitions constant id'>Definitions</span><span class='colon2 op'>::</span><span class='rubyid_Browser constant id'>Browser</span>
|
515
|
+
<span class='rubyid_when when kw'>when</span> <span class='symbol val'>:language</span> <span class='rubyid_then then kw'>then</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Definitions constant id'>Definitions</span><span class='colon2 op'>::</span><span class='rubyid_Language constant id'>Language</span>
|
516
|
+
<span class='rubyid_when when kw'>when</span> <span class='symbol val'>:platform</span> <span class='rubyid_then then kw'>then</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Definitions constant id'>Definitions</span><span class='colon2 op'>::</span><span class='rubyid_Platform constant id'>Platform</span>
|
517
|
+
<span class='rubyid_else else kw'>else</span> <span class='rubyid_raise identifier id'>raise</span><span class='lparen token'>(</span><span class='rubyid_ArgumentError constant id'>ArgumentError</span><span class='comma token'>,</span> <span class='dstring node'>"Invalid definition type \"#{type}\"."</span><span class='rparen token'>)</span>
|
518
|
+
<span class='rubyid_end end kw'>end</span>
|
519
|
+
|
520
|
+
<span class='rubyid_@definitions ivar id'>@definitions</span> <span class='opasgn op'>||=</span> <span class='lbrace token'>{</span><span class='label val'>browsers:</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='comma token'>,</span> <span class='label val'>languages:</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='comma token'>,</span> <span class='label val'>platforms:</span> <span class='lbrace token'>{</span><span class='rbrace token'>}</span><span class='rbrace token'>}</span>
|
521
|
+
<span class='rubyid_definition identifier id'>definition</span> <span class='assign token'>=</span> <span class='rubyid_klass identifier id'>klass</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='mult op'>*</span><span class='rubyid_args identifier id'>args</span><span class='comma token'>,</span> <span class='pow op'>**</span><span class='rubyid_kwargs identifier id'>kwargs</span><span class='comma token'>,</span> <span class='bitand op'>&</span><span class='rubyid_block identifier id'>block</span><span class='rparen token'>)</span>
|
522
|
+
<span class='rubyid_@definitions ivar id'>@definitions</span><span class='lbrack token'>[</span><span class='dstring node'>"#{type}s"</span><span class='dot token'>.</span><span class='rubyid_to_sym identifier id'>to_sym</span><span class='rbrack token'>]</span><span class='lbrack token'>[</span><span class='rubyid_definition identifier id'>definition</span><span class='dot token'>.</span><span class='rubyid_id identifier id'>id</span><span class='rbrack token'>]</span> <span class='assign token'>=</span> <span class='rubyid_definition identifier id'>definition</span>
|
523
|
+
<span class='rubyid_end end kw'>end</span>
|
524
|
+
</pre>
|
521
525
|
</td>
|
522
526
|
</tr>
|
523
527
|
</table>
|
@@ -528,9 +532,9 @@
|
|
528
532
|
</div>
|
529
533
|
|
530
534
|
<div id="footer">
|
531
|
-
Generated on Mon
|
535
|
+
Generated on Mon Mar 2 13:10:31 2015 by
|
532
536
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
533
|
-
0.8.7.
|
537
|
+
0.8.7.6 (ruby-2.2.0).
|
534
538
|
</div>
|
535
539
|
|
536
540
|
</body>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: Brauser::Definitions::Base
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.7.
|
9
|
+
— Documentation by YARD 0.8.7.6
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -249,16 +249,17 @@
|
|
249
249
|
<td>
|
250
250
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/base.rb', line 60</span>
|
251
251
|
|
252
|
-
<span class='kw'>class</span> <span class='
|
253
|
-
<span class='
|
254
|
-
|
255
|
-
<span class='comment'># Performs a match of this definition
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
<span class='
|
260
|
-
<span class='kw'>end</span>
|
261
|
-
<span class='kw'>end</span
|
252
|
+
<span class='rubyid_class class kw'>class</span> <span class='rubyid_Base constant id'>Base</span>
|
253
|
+
<span class='rubyid_attr_reader identifier id'>attr_reader</span> <span class='symbol val'>:id</span>
|
254
|
+
|
255
|
+
<span class='comment val'># Performs a match of this definition.</span>
|
256
|
+
<span class='comment val'>#</span>
|
257
|
+
<span class='comment val'># @return [Object|NilClass] A non falsy value if match succeeded, `false` or `nil` otherwise.</span>
|
258
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='rubyid__ identifier id'>_</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='rubyid__ identifier id'>_</span><span class='comma token'>,</span> <span class='pow op'>**</span><span class='rubyid__ identifier id'>_</span><span class='rparen token'>)</span>
|
259
|
+
<span class='rubyid_raise identifier id'>raise</span> <span class='string val'>"Must be overridden by a subclass."</span>
|
260
|
+
<span class='rubyid_end end kw'>end</span>
|
261
|
+
<span class='rubyid_end end kw'>end</span>
|
262
|
+
</pre>
|
262
263
|
</td>
|
263
264
|
</tr>
|
264
265
|
</table>
|
@@ -320,9 +321,10 @@
|
|
320
321
|
<td>
|
321
322
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/base.rb', line 66</span>
|
322
323
|
|
323
|
-
<span class='kw'>def</span> <span class='
|
324
|
-
<span class='
|
325
|
-
<span class='kw'>end</span
|
324
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='rubyid__ identifier id'>_</span><span class='comma token'>,</span> <span class='mult op'>*</span><span class='rubyid__ identifier id'>_</span><span class='comma token'>,</span> <span class='pow op'>**</span><span class='rubyid__ identifier id'>_</span><span class='rparen token'>)</span>
|
325
|
+
<span class='rubyid_raise identifier id'>raise</span> <span class='string val'>"Must be overridden by a subclass."</span>
|
326
|
+
<span class='rubyid_end end kw'>end</span>
|
327
|
+
</pre>
|
326
328
|
</td>
|
327
329
|
</tr>
|
328
330
|
</table>
|
@@ -333,9 +335,9 @@
|
|
333
335
|
</div>
|
334
336
|
|
335
337
|
<div id="footer">
|
336
|
-
Generated on Mon
|
338
|
+
Generated on Mon Mar 2 13:10:31 2015 by
|
337
339
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
338
|
-
0.8.7.
|
340
|
+
0.8.7.6 (ruby-2.2.0).
|
339
341
|
</div>
|
340
342
|
|
341
343
|
</body>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: Brauser::Definitions::Browser
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.7.
|
9
|
+
— Documentation by YARD 0.8.7.6
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -379,12 +379,13 @@
|
|
379
379
|
<td>
|
380
380
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/browser.rb', line 25</span>
|
381
381
|
|
382
|
-
<span class='kw'>def</span> <span class='
|
383
|
-
<span class='ivar'>@id</span> <span class='
|
384
|
-
<span class='ivar'>@name</span> <span class='
|
385
|
-
<span class='ivar'>@engine_matcher</span> <span class='
|
386
|
-
<span class='ivar'>@version_matcher</span> <span class='
|
387
|
-
<span class='kw'>end</span
|
382
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='rubyid_id identifier id'>id</span><span class='comma token'>,</span> <span class='rubyid_name identifier id'>name</span><span class='comma token'>,</span> <span class='rubyid_engine_matcher identifier id'>engine_matcher</span><span class='comma token'>,</span> <span class='rubyid_version_matcher identifier id'>version_matcher</span><span class='comma token'>,</span> <span class='pow op'>**</span><span class='rubyid__ identifier id'>_</span><span class='rparen token'>)</span>
|
383
|
+
<span class='rubyid_@id ivar id'>@id</span> <span class='assign token'>=</span> <span class='rubyid_id identifier id'>id</span>
|
384
|
+
<span class='rubyid_@name ivar id'>@name</span> <span class='assign token'>=</span> <span class='rubyid_name identifier id'>name</span>
|
385
|
+
<span class='rubyid_@engine_matcher ivar id'>@engine_matcher</span> <span class='assign token'>=</span> <span class='rubyid_engine_matcher identifier id'>engine_matcher</span>
|
386
|
+
<span class='rubyid_@version_matcher ivar id'>@version_matcher</span> <span class='assign token'>=</span> <span class='rubyid_version_matcher identifier id'>version_matcher</span>
|
387
|
+
<span class='rubyid_end end kw'>end</span>
|
388
|
+
</pre>
|
388
389
|
</td>
|
389
390
|
</tr>
|
390
391
|
</table>
|
@@ -506,69 +507,70 @@
|
|
506
507
|
<td>
|
507
508
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/browser.rb', line 16</span>
|
508
509
|
|
509
|
-
<span class='kw'>class</span> <span class='
|
510
|
-
<span class='
|
511
|
-
|
512
|
-
<span class='comment'># Creates a new definition
|
513
|
-
|
514
|
-
|
515
|
-
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
<span class='ivar'>@id</span> <span class='
|
520
|
-
<span class='ivar'>@name</span> <span class='
|
521
|
-
<span class='ivar'>@engine_matcher</span> <span class='
|
522
|
-
<span class='ivar'>@version_matcher</span> <span class='
|
523
|
-
<span class='kw'>end</span>
|
524
|
-
|
525
|
-
<span class='comment'># Matches against an header
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
<span class='comment'># First of all, match the engine
|
531
|
-
|
532
|
-
|
533
|
-
<span class='kw'>if</span> <span class='
|
534
|
-
<span class='
|
535
|
-
<span class='
|
536
|
-
<span class='
|
537
|
-
<span class='kw'>else</span>
|
538
|
-
<span class='kw'>nil</span>
|
539
|
-
<span class='kw'>end</span>
|
540
|
-
<span class='kw'>end</span>
|
541
|
-
|
542
|
-
<span class='
|
543
|
-
|
544
|
-
<span class='comment'># :nodoc
|
545
|
-
|
546
|
-
<span class='
|
547
|
-
<span class='
|
548
|
-
<span class='kw'>end</span>
|
549
|
-
|
550
|
-
<span class='comment'># :nodoc
|
551
|
-
|
552
|
-
|
553
|
-
<span class='comment'># Adjust version
|
554
|
-
|
555
|
-
<span class='
|
556
|
-
<span class='
|
557
|
-
<span class='kw'>rescue</span>
|
558
|
-
<span class='
|
559
|
-
<span class='kw'>end</span>
|
560
|
-
|
561
|
-
<span class='comment'># :nodoc
|
562
|
-
|
563
|
-
<span class='
|
564
|
-
<span class='
|
565
|
-
<span class='
|
566
|
-
<span class='kw'>end</span>
|
567
|
-
|
568
|
-
<span class='kw'>nil</span>
|
569
|
-
<span class='rbrace'>}</span>
|
570
|
-
<span class='kw'>end</span>
|
571
|
-
<span class='kw'>end</span
|
510
|
+
<span class='rubyid_class class kw'>class</span> <span class='rubyid_Browser constant id'>Browser</span> <span class='lt op'><</span> <span class='rubyid_Base constant id'>Base</span>
|
511
|
+
<span class='rubyid_attr_reader identifier id'>attr_reader</span> <span class='symbol val'>:name</span><span class='comma token'>,</span> <span class='symbol val'>:engine_matcher</span><span class='comma token'>,</span> <span class='symbol val'>:version_matcher</span>
|
512
|
+
|
513
|
+
<span class='comment val'># Creates a new definition.</span>
|
514
|
+
<span class='comment val'>#</span>
|
515
|
+
<span class='comment val'># @param id [Symbol] The platform id.</span>
|
516
|
+
<span class='comment val'># @param name [String] The platform name.</span>
|
517
|
+
<span class='comment val'># @param engine_matcher [Regexp|Proc] The pattern or the block to recognize the engine.</span>
|
518
|
+
<span class='comment val'># @param version_matcher [Regexp|Proc] The pattern or the block to recognize the version.</span>
|
519
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='rubyid_id identifier id'>id</span><span class='comma token'>,</span> <span class='rubyid_name identifier id'>name</span><span class='comma token'>,</span> <span class='rubyid_engine_matcher identifier id'>engine_matcher</span><span class='comma token'>,</span> <span class='rubyid_version_matcher identifier id'>version_matcher</span><span class='comma token'>,</span> <span class='pow op'>**</span><span class='rubyid__ identifier id'>_</span><span class='rparen token'>)</span>
|
520
|
+
<span class='rubyid_@id ivar id'>@id</span> <span class='assign token'>=</span> <span class='rubyid_id identifier id'>id</span>
|
521
|
+
<span class='rubyid_@name ivar id'>@name</span> <span class='assign token'>=</span> <span class='rubyid_name identifier id'>name</span>
|
522
|
+
<span class='rubyid_@engine_matcher ivar id'>@engine_matcher</span> <span class='assign token'>=</span> <span class='rubyid_engine_matcher identifier id'>engine_matcher</span>
|
523
|
+
<span class='rubyid_@version_matcher ivar id'>@version_matcher</span> <span class='assign token'>=</span> <span class='rubyid_version_matcher identifier id'>version_matcher</span>
|
524
|
+
<span class='rubyid_end end kw'>end</span>
|
525
|
+
|
526
|
+
<span class='comment val'># Matches against an header.</span>
|
527
|
+
<span class='comment val'>#</span>
|
528
|
+
<span class='comment val'># @param header [String] The header to match</span>
|
529
|
+
<span class='comment val'># @return [Array|NilClass] An array with the engine and the version if match succeeded, `false` or `nil` otherwise.</span>
|
530
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span>
|
531
|
+
<span class='comment val'># First of all, match the engine</span>
|
532
|
+
<span class='rubyid_engine identifier id'>engine</span> <span class='assign token'>=</span> <span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_@engine_matcher ivar id'>@engine_matcher</span><span class='comma token'>,</span> <span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span> <span class='question op'>?</span> <span class='rubyid_@id ivar id'>@id</span> <span class='colon op'>:</span> <span class='rubyid_nil nil kw'>nil</span>
|
533
|
+
|
534
|
+
<span class='rubyid_if if kw'>if</span> <span class='rubyid_engine identifier id'>engine</span>
|
535
|
+
<span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='rubyid_extract_version identifier id'>extract_version</span><span class='lparen token'>(</span><span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_@version_matcher ivar id'>@version_matcher</span><span class='comma token'>,</span> <span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
|
536
|
+
<span class='rubyid_platform identifier id'>platform</span> <span class='assign token'>=</span> <span class='rubyid_extract_platform identifier id'>extract_platform</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='comma token'>,</span> <span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span>
|
537
|
+
<span class='lbrack token'>[</span><span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_platform identifier id'>platform</span><span class='rparen token'>)</span><span class='rbrack token'>]</span>
|
538
|
+
<span class='rubyid_else else kw'>else</span>
|
539
|
+
<span class='rubyid_nil nil kw'>nil</span>
|
540
|
+
<span class='rubyid_end end kw'>end</span>
|
541
|
+
<span class='rubyid_end end kw'>end</span>
|
542
|
+
|
543
|
+
<span class='rubyid_private identifier id'>private</span>
|
544
|
+
|
545
|
+
<span class='comment val'># :nodoc:</span>
|
546
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_pattern identifier id'>pattern</span><span class='comma token'>,</span> <span class='rubyid_subject identifier id'>subject</span><span class='rparen token'>)</span>
|
547
|
+
<span class='rubyid_method identifier id'>method</span> <span class='assign token'>=</span> <span class='rubyid_pattern identifier id'>pattern</span><span class='dot token'>.</span><span class='rubyid_is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='rubyid_Regexp constant id'>Regexp</span><span class='rparen token'>)</span> <span class='question op'>?</span> <span class='symbol val'>:match</span> <span class='colon op'>:</span> <span class='symbol val'>:call</span>
|
548
|
+
<span class='rubyid_pattern identifier id'>pattern</span><span class='dot token'>.</span><span class='rubyid_send identifier id'>send</span><span class='lparen token'>(</span><span class='rubyid_method identifier id'>method</span><span class='comma token'>,</span> <span class='rubyid_subject identifier id'>subject</span><span class='rparen token'>)</span>
|
549
|
+
<span class='rubyid_end end kw'>end</span>
|
550
|
+
|
551
|
+
<span class='comment val'># :nodoc:</span>
|
552
|
+
<span class='comment val'># @private</span>
|
553
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_extract_version identifier id'>extract_version</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span>
|
554
|
+
<span class='comment val'># Adjust version</span>
|
555
|
+
<span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='string val'>"0.0"</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_version identifier id'>version</span><span class='dot token'>.</span><span class='rubyid_blank? fid id'>blank?</span>
|
556
|
+
<span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='rubyid_version identifier id'>version</span><span class='dot token'>.</span><span class='rubyid_to_a identifier id'>to_a</span><span class='dot token'>.</span><span class='rubyid_last identifier id'>last</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_version identifier id'>version</span><span class='dot token'>.</span><span class='rubyid_is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='colon3 op'>::</span><span class='rubyid_MatchData constant id'>MatchData</span><span class='rparen token'>)</span>
|
557
|
+
<span class='rubyid_Versionomy constant id'>Versionomy</span><span class='dot token'>.</span><span class='rubyid_parse identifier id'>parse</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span>
|
558
|
+
<span class='rubyid_rescue rescue kw'>rescue</span>
|
559
|
+
<span class='rubyid_version identifier id'>version</span>
|
560
|
+
<span class='rubyid_end end kw'>end</span>
|
561
|
+
|
562
|
+
<span class='comment val'># :nodoc:</span>
|
563
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_extract_platform identifier id'>extract_platform</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='comma token'>,</span> <span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span>
|
564
|
+
<span class='rubyid_catch identifier id'>catch</span><span class='lparen token'>(</span><span class='symbol val'>:result</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span>
|
565
|
+
<span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Definitions constant id'>Definitions</span><span class='dot token'>.</span><span class='rubyid_platforms identifier id'>platforms</span><span class='dot token'>.</span><span class='rubyid_each identifier id'>each</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_platform identifier id'>platform</span><span class='comma token'>,</span> <span class='rubyid_definition identifier id'>definition</span><span class='bitor op'>|</span>
|
566
|
+
<span class='rubyid_throw identifier id'>throw</span><span class='lparen token'>(</span><span class='symbol val'>:result</span><span class='comma token'>,</span> <span class='rubyid_platform identifier id'>platform</span><span class='rparen token'>)</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_definition identifier id'>definition</span><span class='dot token'>.</span><span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='comma token'>,</span> <span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span>
|
567
|
+
<span class='rubyid_end end kw'>end</span>
|
568
|
+
|
569
|
+
<span class='rubyid_nil nil kw'>nil</span>
|
570
|
+
<span class='rbrace token'>}</span>
|
571
|
+
<span class='rubyid_end end kw'>end</span>
|
572
|
+
<span class='rubyid_end end kw'>end</span>
|
573
|
+
</pre>
|
572
574
|
</td>
|
573
575
|
</tr>
|
574
576
|
</table>
|
@@ -685,69 +687,70 @@
|
|
685
687
|
<td>
|
686
688
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/browser.rb', line 16</span>
|
687
689
|
|
688
|
-
<span class='kw'>class</span> <span class='
|
689
|
-
<span class='
|
690
|
-
|
691
|
-
<span class='comment'># Creates a new definition
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
<span class='ivar'>@id</span> <span class='
|
699
|
-
<span class='ivar'>@name</span> <span class='
|
700
|
-
<span class='ivar'>@engine_matcher</span> <span class='
|
701
|
-
<span class='ivar'>@version_matcher</span> <span class='
|
702
|
-
<span class='kw'>end</span>
|
703
|
-
|
704
|
-
<span class='comment'># Matches against an header
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
<span class='comment'># First of all, match the engine
|
710
|
-
|
711
|
-
|
712
|
-
<span class='kw'>if</span> <span class='
|
713
|
-
<span class='
|
714
|
-
<span class='
|
715
|
-
<span class='
|
716
|
-
<span class='kw'>else</span>
|
717
|
-
<span class='kw'>nil</span>
|
718
|
-
<span class='kw'>end</span>
|
719
|
-
<span class='kw'>end</span>
|
720
|
-
|
721
|
-
<span class='
|
722
|
-
|
723
|
-
<span class='comment'># :nodoc
|
724
|
-
|
725
|
-
<span class='
|
726
|
-
<span class='
|
727
|
-
<span class='kw'>end</span>
|
728
|
-
|
729
|
-
<span class='comment'># :nodoc
|
730
|
-
|
731
|
-
|
732
|
-
<span class='comment'># Adjust version
|
733
|
-
|
734
|
-
<span class='
|
735
|
-
<span class='
|
736
|
-
<span class='kw'>rescue</span>
|
737
|
-
<span class='
|
738
|
-
<span class='kw'>end</span>
|
739
|
-
|
740
|
-
<span class='comment'># :nodoc
|
741
|
-
|
742
|
-
<span class='
|
743
|
-
<span class='
|
744
|
-
<span class='
|
745
|
-
<span class='kw'>end</span>
|
746
|
-
|
747
|
-
<span class='kw'>nil</span>
|
748
|
-
<span class='rbrace'>}</span>
|
749
|
-
<span class='kw'>end</span>
|
750
|
-
<span class='kw'>end</span
|
690
|
+
<span class='rubyid_class class kw'>class</span> <span class='rubyid_Browser constant id'>Browser</span> <span class='lt op'><</span> <span class='rubyid_Base constant id'>Base</span>
|
691
|
+
<span class='rubyid_attr_reader identifier id'>attr_reader</span> <span class='symbol val'>:name</span><span class='comma token'>,</span> <span class='symbol val'>:engine_matcher</span><span class='comma token'>,</span> <span class='symbol val'>:version_matcher</span>
|
692
|
+
|
693
|
+
<span class='comment val'># Creates a new definition.</span>
|
694
|
+
<span class='comment val'>#</span>
|
695
|
+
<span class='comment val'># @param id [Symbol] The platform id.</span>
|
696
|
+
<span class='comment val'># @param name [String] The platform name.</span>
|
697
|
+
<span class='comment val'># @param engine_matcher [Regexp|Proc] The pattern or the block to recognize the engine.</span>
|
698
|
+
<span class='comment val'># @param version_matcher [Regexp|Proc] The pattern or the block to recognize the version.</span>
|
699
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='rubyid_id identifier id'>id</span><span class='comma token'>,</span> <span class='rubyid_name identifier id'>name</span><span class='comma token'>,</span> <span class='rubyid_engine_matcher identifier id'>engine_matcher</span><span class='comma token'>,</span> <span class='rubyid_version_matcher identifier id'>version_matcher</span><span class='comma token'>,</span> <span class='pow op'>**</span><span class='rubyid__ identifier id'>_</span><span class='rparen token'>)</span>
|
700
|
+
<span class='rubyid_@id ivar id'>@id</span> <span class='assign token'>=</span> <span class='rubyid_id identifier id'>id</span>
|
701
|
+
<span class='rubyid_@name ivar id'>@name</span> <span class='assign token'>=</span> <span class='rubyid_name identifier id'>name</span>
|
702
|
+
<span class='rubyid_@engine_matcher ivar id'>@engine_matcher</span> <span class='assign token'>=</span> <span class='rubyid_engine_matcher identifier id'>engine_matcher</span>
|
703
|
+
<span class='rubyid_@version_matcher ivar id'>@version_matcher</span> <span class='assign token'>=</span> <span class='rubyid_version_matcher identifier id'>version_matcher</span>
|
704
|
+
<span class='rubyid_end end kw'>end</span>
|
705
|
+
|
706
|
+
<span class='comment val'># Matches against an header.</span>
|
707
|
+
<span class='comment val'>#</span>
|
708
|
+
<span class='comment val'># @param header [String] The header to match</span>
|
709
|
+
<span class='comment val'># @return [Array|NilClass] An array with the engine and the version if match succeeded, `false` or `nil` otherwise.</span>
|
710
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span>
|
711
|
+
<span class='comment val'># First of all, match the engine</span>
|
712
|
+
<span class='rubyid_engine identifier id'>engine</span> <span class='assign token'>=</span> <span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_@engine_matcher ivar id'>@engine_matcher</span><span class='comma token'>,</span> <span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span> <span class='question op'>?</span> <span class='rubyid_@id ivar id'>@id</span> <span class='colon op'>:</span> <span class='rubyid_nil nil kw'>nil</span>
|
713
|
+
|
714
|
+
<span class='rubyid_if if kw'>if</span> <span class='rubyid_engine identifier id'>engine</span>
|
715
|
+
<span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='rubyid_extract_version identifier id'>extract_version</span><span class='lparen token'>(</span><span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_@version_matcher ivar id'>@version_matcher</span><span class='comma token'>,</span> <span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
|
716
|
+
<span class='rubyid_platform identifier id'>platform</span> <span class='assign token'>=</span> <span class='rubyid_extract_platform identifier id'>extract_platform</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='comma token'>,</span> <span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span>
|
717
|
+
<span class='lbrack token'>[</span><span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_platform identifier id'>platform</span><span class='rparen token'>)</span><span class='rbrack token'>]</span>
|
718
|
+
<span class='rubyid_else else kw'>else</span>
|
719
|
+
<span class='rubyid_nil nil kw'>nil</span>
|
720
|
+
<span class='rubyid_end end kw'>end</span>
|
721
|
+
<span class='rubyid_end end kw'>end</span>
|
722
|
+
|
723
|
+
<span class='rubyid_private identifier id'>private</span>
|
724
|
+
|
725
|
+
<span class='comment val'># :nodoc:</span>
|
726
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_pattern identifier id'>pattern</span><span class='comma token'>,</span> <span class='rubyid_subject identifier id'>subject</span><span class='rparen token'>)</span>
|
727
|
+
<span class='rubyid_method identifier id'>method</span> <span class='assign token'>=</span> <span class='rubyid_pattern identifier id'>pattern</span><span class='dot token'>.</span><span class='rubyid_is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='rubyid_Regexp constant id'>Regexp</span><span class='rparen token'>)</span> <span class='question op'>?</span> <span class='symbol val'>:match</span> <span class='colon op'>:</span> <span class='symbol val'>:call</span>
|
728
|
+
<span class='rubyid_pattern identifier id'>pattern</span><span class='dot token'>.</span><span class='rubyid_send identifier id'>send</span><span class='lparen token'>(</span><span class='rubyid_method identifier id'>method</span><span class='comma token'>,</span> <span class='rubyid_subject identifier id'>subject</span><span class='rparen token'>)</span>
|
729
|
+
<span class='rubyid_end end kw'>end</span>
|
730
|
+
|
731
|
+
<span class='comment val'># :nodoc:</span>
|
732
|
+
<span class='comment val'># @private</span>
|
733
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_extract_version identifier id'>extract_version</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span>
|
734
|
+
<span class='comment val'># Adjust version</span>
|
735
|
+
<span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='string val'>"0.0"</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_version identifier id'>version</span><span class='dot token'>.</span><span class='rubyid_blank? fid id'>blank?</span>
|
736
|
+
<span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='rubyid_version identifier id'>version</span><span class='dot token'>.</span><span class='rubyid_to_a identifier id'>to_a</span><span class='dot token'>.</span><span class='rubyid_last identifier id'>last</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_version identifier id'>version</span><span class='dot token'>.</span><span class='rubyid_is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='colon3 op'>::</span><span class='rubyid_MatchData constant id'>MatchData</span><span class='rparen token'>)</span>
|
737
|
+
<span class='rubyid_Versionomy constant id'>Versionomy</span><span class='dot token'>.</span><span class='rubyid_parse identifier id'>parse</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span>
|
738
|
+
<span class='rubyid_rescue rescue kw'>rescue</span>
|
739
|
+
<span class='rubyid_version identifier id'>version</span>
|
740
|
+
<span class='rubyid_end end kw'>end</span>
|
741
|
+
|
742
|
+
<span class='comment val'># :nodoc:</span>
|
743
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_extract_platform identifier id'>extract_platform</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='comma token'>,</span> <span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span>
|
744
|
+
<span class='rubyid_catch identifier id'>catch</span><span class='lparen token'>(</span><span class='symbol val'>:result</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span>
|
745
|
+
<span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Definitions constant id'>Definitions</span><span class='dot token'>.</span><span class='rubyid_platforms identifier id'>platforms</span><span class='dot token'>.</span><span class='rubyid_each identifier id'>each</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_platform identifier id'>platform</span><span class='comma token'>,</span> <span class='rubyid_definition identifier id'>definition</span><span class='bitor op'>|</span>
|
746
|
+
<span class='rubyid_throw identifier id'>throw</span><span class='lparen token'>(</span><span class='symbol val'>:result</span><span class='comma token'>,</span> <span class='rubyid_platform identifier id'>platform</span><span class='rparen token'>)</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_definition identifier id'>definition</span><span class='dot token'>.</span><span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='comma token'>,</span> <span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span>
|
747
|
+
<span class='rubyid_end end kw'>end</span>
|
748
|
+
|
749
|
+
<span class='rubyid_nil nil kw'>nil</span>
|
750
|
+
<span class='rbrace token'>}</span>
|
751
|
+
<span class='rubyid_end end kw'>end</span>
|
752
|
+
<span class='rubyid_end end kw'>end</span>
|
753
|
+
</pre>
|
751
754
|
</td>
|
752
755
|
</tr>
|
753
756
|
</table>
|
@@ -864,69 +867,70 @@
|
|
864
867
|
<td>
|
865
868
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/browser.rb', line 16</span>
|
866
869
|
|
867
|
-
<span class='kw'>class</span> <span class='
|
868
|
-
<span class='
|
869
|
-
|
870
|
-
<span class='comment'># Creates a new definition
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
<span class='ivar'>@id</span> <span class='
|
878
|
-
<span class='ivar'>@name</span> <span class='
|
879
|
-
<span class='ivar'>@engine_matcher</span> <span class='
|
880
|
-
<span class='ivar'>@version_matcher</span> <span class='
|
881
|
-
<span class='kw'>end</span>
|
882
|
-
|
883
|
-
<span class='comment'># Matches against an header
|
884
|
-
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
<span class='comment'># First of all, match the engine
|
889
|
-
|
890
|
-
|
891
|
-
<span class='kw'>if</span> <span class='
|
892
|
-
<span class='
|
893
|
-
<span class='
|
894
|
-
<span class='
|
895
|
-
<span class='kw'>else</span>
|
896
|
-
<span class='kw'>nil</span>
|
897
|
-
<span class='kw'>end</span>
|
898
|
-
<span class='kw'>end</span>
|
899
|
-
|
900
|
-
<span class='
|
901
|
-
|
902
|
-
<span class='comment'># :nodoc
|
903
|
-
|
904
|
-
<span class='
|
905
|
-
<span class='
|
906
|
-
<span class='kw'>end</span>
|
907
|
-
|
908
|
-
<span class='comment'># :nodoc
|
909
|
-
|
910
|
-
|
911
|
-
<span class='comment'># Adjust version
|
912
|
-
|
913
|
-
<span class='
|
914
|
-
<span class='
|
915
|
-
<span class='kw'>rescue</span>
|
916
|
-
<span class='
|
917
|
-
<span class='kw'>end</span>
|
918
|
-
|
919
|
-
<span class='comment'># :nodoc
|
920
|
-
|
921
|
-
<span class='
|
922
|
-
<span class='
|
923
|
-
<span class='
|
924
|
-
<span class='kw'>end</span>
|
925
|
-
|
926
|
-
<span class='kw'>nil</span>
|
927
|
-
<span class='rbrace'>}</span>
|
928
|
-
<span class='kw'>end</span>
|
929
|
-
<span class='kw'>end</span
|
870
|
+
<span class='rubyid_class class kw'>class</span> <span class='rubyid_Browser constant id'>Browser</span> <span class='lt op'><</span> <span class='rubyid_Base constant id'>Base</span>
|
871
|
+
<span class='rubyid_attr_reader identifier id'>attr_reader</span> <span class='symbol val'>:name</span><span class='comma token'>,</span> <span class='symbol val'>:engine_matcher</span><span class='comma token'>,</span> <span class='symbol val'>:version_matcher</span>
|
872
|
+
|
873
|
+
<span class='comment val'># Creates a new definition.</span>
|
874
|
+
<span class='comment val'>#</span>
|
875
|
+
<span class='comment val'># @param id [Symbol] The platform id.</span>
|
876
|
+
<span class='comment val'># @param name [String] The platform name.</span>
|
877
|
+
<span class='comment val'># @param engine_matcher [Regexp|Proc] The pattern or the block to recognize the engine.</span>
|
878
|
+
<span class='comment val'># @param version_matcher [Regexp|Proc] The pattern or the block to recognize the version.</span>
|
879
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_initialize identifier id'>initialize</span><span class='lparen token'>(</span><span class='rubyid_id identifier id'>id</span><span class='comma token'>,</span> <span class='rubyid_name identifier id'>name</span><span class='comma token'>,</span> <span class='rubyid_engine_matcher identifier id'>engine_matcher</span><span class='comma token'>,</span> <span class='rubyid_version_matcher identifier id'>version_matcher</span><span class='comma token'>,</span> <span class='pow op'>**</span><span class='rubyid__ identifier id'>_</span><span class='rparen token'>)</span>
|
880
|
+
<span class='rubyid_@id ivar id'>@id</span> <span class='assign token'>=</span> <span class='rubyid_id identifier id'>id</span>
|
881
|
+
<span class='rubyid_@name ivar id'>@name</span> <span class='assign token'>=</span> <span class='rubyid_name identifier id'>name</span>
|
882
|
+
<span class='rubyid_@engine_matcher ivar id'>@engine_matcher</span> <span class='assign token'>=</span> <span class='rubyid_engine_matcher identifier id'>engine_matcher</span>
|
883
|
+
<span class='rubyid_@version_matcher ivar id'>@version_matcher</span> <span class='assign token'>=</span> <span class='rubyid_version_matcher identifier id'>version_matcher</span>
|
884
|
+
<span class='rubyid_end end kw'>end</span>
|
885
|
+
|
886
|
+
<span class='comment val'># Matches against an header.</span>
|
887
|
+
<span class='comment val'>#</span>
|
888
|
+
<span class='comment val'># @param header [String] The header to match</span>
|
889
|
+
<span class='comment val'># @return [Array|NilClass] An array with the engine and the version if match succeeded, `false` or `nil` otherwise.</span>
|
890
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span>
|
891
|
+
<span class='comment val'># First of all, match the engine</span>
|
892
|
+
<span class='rubyid_engine identifier id'>engine</span> <span class='assign token'>=</span> <span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_@engine_matcher ivar id'>@engine_matcher</span><span class='comma token'>,</span> <span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span> <span class='question op'>?</span> <span class='rubyid_@id ivar id'>@id</span> <span class='colon op'>:</span> <span class='rubyid_nil nil kw'>nil</span>
|
893
|
+
|
894
|
+
<span class='rubyid_if if kw'>if</span> <span class='rubyid_engine identifier id'>engine</span>
|
895
|
+
<span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='rubyid_extract_version identifier id'>extract_version</span><span class='lparen token'>(</span><span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_@version_matcher ivar id'>@version_matcher</span><span class='comma token'>,</span> <span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
|
896
|
+
<span class='rubyid_platform identifier id'>platform</span> <span class='assign token'>=</span> <span class='rubyid_extract_platform identifier id'>extract_platform</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='comma token'>,</span> <span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span>
|
897
|
+
<span class='lbrack token'>[</span><span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_platform identifier id'>platform</span><span class='rparen token'>)</span><span class='rbrack token'>]</span>
|
898
|
+
<span class='rubyid_else else kw'>else</span>
|
899
|
+
<span class='rubyid_nil nil kw'>nil</span>
|
900
|
+
<span class='rubyid_end end kw'>end</span>
|
901
|
+
<span class='rubyid_end end kw'>end</span>
|
902
|
+
|
903
|
+
<span class='rubyid_private identifier id'>private</span>
|
904
|
+
|
905
|
+
<span class='comment val'># :nodoc:</span>
|
906
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_pattern identifier id'>pattern</span><span class='comma token'>,</span> <span class='rubyid_subject identifier id'>subject</span><span class='rparen token'>)</span>
|
907
|
+
<span class='rubyid_method identifier id'>method</span> <span class='assign token'>=</span> <span class='rubyid_pattern identifier id'>pattern</span><span class='dot token'>.</span><span class='rubyid_is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='rubyid_Regexp constant id'>Regexp</span><span class='rparen token'>)</span> <span class='question op'>?</span> <span class='symbol val'>:match</span> <span class='colon op'>:</span> <span class='symbol val'>:call</span>
|
908
|
+
<span class='rubyid_pattern identifier id'>pattern</span><span class='dot token'>.</span><span class='rubyid_send identifier id'>send</span><span class='lparen token'>(</span><span class='rubyid_method identifier id'>method</span><span class='comma token'>,</span> <span class='rubyid_subject identifier id'>subject</span><span class='rparen token'>)</span>
|
909
|
+
<span class='rubyid_end end kw'>end</span>
|
910
|
+
|
911
|
+
<span class='comment val'># :nodoc:</span>
|
912
|
+
<span class='comment val'># @private</span>
|
913
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_extract_version identifier id'>extract_version</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span>
|
914
|
+
<span class='comment val'># Adjust version</span>
|
915
|
+
<span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='string val'>"0.0"</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_version identifier id'>version</span><span class='dot token'>.</span><span class='rubyid_blank? fid id'>blank?</span>
|
916
|
+
<span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='rubyid_version identifier id'>version</span><span class='dot token'>.</span><span class='rubyid_to_a identifier id'>to_a</span><span class='dot token'>.</span><span class='rubyid_last identifier id'>last</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_version identifier id'>version</span><span class='dot token'>.</span><span class='rubyid_is_a? fid id'>is_a?</span><span class='lparen token'>(</span><span class='colon3 op'>::</span><span class='rubyid_MatchData constant id'>MatchData</span><span class='rparen token'>)</span>
|
917
|
+
<span class='rubyid_Versionomy constant id'>Versionomy</span><span class='dot token'>.</span><span class='rubyid_parse identifier id'>parse</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span>
|
918
|
+
<span class='rubyid_rescue rescue kw'>rescue</span>
|
919
|
+
<span class='rubyid_version identifier id'>version</span>
|
920
|
+
<span class='rubyid_end end kw'>end</span>
|
921
|
+
|
922
|
+
<span class='comment val'># :nodoc:</span>
|
923
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_extract_platform identifier id'>extract_platform</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='comma token'>,</span> <span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span>
|
924
|
+
<span class='rubyid_catch identifier id'>catch</span><span class='lparen token'>(</span><span class='symbol val'>:result</span><span class='rparen token'>)</span> <span class='lbrace token'>{</span>
|
925
|
+
<span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Definitions constant id'>Definitions</span><span class='dot token'>.</span><span class='rubyid_platforms identifier id'>platforms</span><span class='dot token'>.</span><span class='rubyid_each identifier id'>each</span> <span class='rubyid_do do kw'>do</span> <span class='bitor op'>|</span><span class='rubyid_platform identifier id'>platform</span><span class='comma token'>,</span> <span class='rubyid_definition identifier id'>definition</span><span class='bitor op'>|</span>
|
926
|
+
<span class='rubyid_throw identifier id'>throw</span><span class='lparen token'>(</span><span class='symbol val'>:result</span><span class='comma token'>,</span> <span class='rubyid_platform identifier id'>platform</span><span class='rparen token'>)</span> <span class='rubyid_if if_mod kw'>if</span> <span class='rubyid_definition identifier id'>definition</span><span class='dot token'>.</span><span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='comma token'>,</span> <span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span>
|
927
|
+
<span class='rubyid_end end kw'>end</span>
|
928
|
+
|
929
|
+
<span class='rubyid_nil nil kw'>nil</span>
|
930
|
+
<span class='rbrace token'>}</span>
|
931
|
+
<span class='rubyid_end end kw'>end</span>
|
932
|
+
<span class='rubyid_end end kw'>end</span>
|
933
|
+
</pre>
|
930
934
|
</td>
|
931
935
|
</tr>
|
932
936
|
</table>
|
@@ -1016,18 +1020,19 @@
|
|
1016
1020
|
<td>
|
1017
1021
|
<pre class="code"><span class="info file"># File 'lib/brauser/definitions/browser.rb', line 36</span>
|
1018
1022
|
|
1019
|
-
<span class='kw'>def</span> <span class='
|
1020
|
-
<span class='comment'># First of all, match the engine
|
1021
|
-
|
1022
|
-
|
1023
|
-
<span class='kw'>if</span> <span class='
|
1024
|
-
<span class='
|
1025
|
-
<span class='
|
1026
|
-
<span class='
|
1027
|
-
<span class='kw'>else</span>
|
1028
|
-
<span class='kw'>nil</span>
|
1029
|
-
<span class='kw'>end</span>
|
1030
|
-
<span class='kw'>end</span
|
1023
|
+
<span class='rubyid_def def kw'>def</span> <span class='rubyid_match identifier id'>match</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span>
|
1024
|
+
<span class='comment val'># First of all, match the engine</span>
|
1025
|
+
<span class='rubyid_engine identifier id'>engine</span> <span class='assign token'>=</span> <span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_@engine_matcher ivar id'>@engine_matcher</span><span class='comma token'>,</span> <span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span> <span class='question op'>?</span> <span class='rubyid_@id ivar id'>@id</span> <span class='colon op'>:</span> <span class='rubyid_nil nil kw'>nil</span>
|
1026
|
+
|
1027
|
+
<span class='rubyid_if if kw'>if</span> <span class='rubyid_engine identifier id'>engine</span>
|
1028
|
+
<span class='rubyid_version identifier id'>version</span> <span class='assign token'>=</span> <span class='rubyid_extract_version identifier id'>extract_version</span><span class='lparen token'>(</span><span class='rubyid_perform_match identifier id'>perform_match</span><span class='lparen token'>(</span><span class='rubyid_@version_matcher ivar id'>@version_matcher</span><span class='comma token'>,</span> <span class='rubyid_header identifier id'>header</span><span class='rparen token'>)</span><span class='rparen token'>)</span>
|
1029
|
+
<span class='rubyid_platform identifier id'>platform</span> <span class='assign token'>=</span> <span class='rubyid_extract_platform identifier id'>extract_platform</span><span class='lparen token'>(</span><span class='rubyid_header identifier id'>header</span><span class='comma token'>,</span> <span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span>
|
1030
|
+
<span class='lbrack token'>[</span><span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_engine identifier id'>engine</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_version identifier id'>version</span><span class='rparen token'>)</span><span class='comma token'>,</span> <span class='rubyid_Brauser constant id'>Brauser</span><span class='colon2 op'>::</span><span class='rubyid_Value constant id'>Value</span><span class='dot token'>.</span><span class='rubyid_new identifier id'>new</span><span class='lparen token'>(</span><span class='rubyid_platform identifier id'>platform</span><span class='rparen token'>)</span><span class='rbrack token'>]</span>
|
1031
|
+
<span class='rubyid_else else kw'>else</span>
|
1032
|
+
<span class='rubyid_nil nil kw'>nil</span>
|
1033
|
+
<span class='rubyid_end end kw'>end</span>
|
1034
|
+
<span class='rubyid_end end kw'>end</span>
|
1035
|
+
</pre>
|
1031
1036
|
</td>
|
1032
1037
|
</tr>
|
1033
1038
|
</table>
|
@@ -1038,9 +1043,9 @@
|
|
1038
1043
|
</div>
|
1039
1044
|
|
1040
1045
|
<div id="footer">
|
1041
|
-
Generated on Mon
|
1046
|
+
Generated on Mon Mar 2 13:10:31 2015 by
|
1042
1047
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1043
|
-
0.8.7.
|
1048
|
+
0.8.7.6 (ruby-2.2.0).
|
1044
1049
|
</div>
|
1045
1050
|
|
1046
1051
|
</body>
|