brauser 4.0.0 → 4.1.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.
- 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>
|