brauser 2.1.4 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +3 -3
- data/README.md +3 -3
- data/brauser.gemspec +1 -1
- data/doc/Brauser.html +6 -5
- data/doc/Brauser/Browser.html +553 -541
- data/doc/Brauser/BrowserMethods.html +1 -1
- data/doc/Brauser/BrowserMethods/Attributes.html +21 -21
- data/doc/Brauser/BrowserMethods/General.html +1 -1
- data/doc/Brauser/BrowserMethods/General/ClassMethods.html +29 -29
- data/doc/Brauser/BrowserMethods/Parsing.html +15 -15
- data/doc/Brauser/BrowserMethods/PartialQuerying.html +45 -55
- data/doc/Brauser/BrowserMethods/Querying.html +21 -21
- data/doc/Brauser/BrowserMethods/Register.html +1 -1
- data/doc/Brauser/BrowserMethods/Register/ClassMethods.html +116 -425
- data/doc/Brauser/Hooks.html +1 -1
- data/doc/Brauser/Hooks/RubyOnRails.html +2 -2
- data/doc/Brauser/Query.html +45 -1267
- data/doc/Brauser/Version.html +4 -4
- data/doc/_index.html +33 -4
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +4 -4
- data/doc/index.html +4 -4
- data/doc/method_list.html +89 -65
- data/doc/top-level-namespace.html +1 -1
- data/lib/brauser.rb +1 -0
- data/lib/brauser/browser.rb +163 -234
- data/lib/brauser/definition.rb +54 -0
- data/lib/brauser/hooks.rb +1 -1
- data/lib/brauser/query.rb +68 -59
- data/lib/brauser/version.rb +3 -3
- data/spec/brauser/browser_spec.rb +222 -292
- data/spec/brauser/definition_spec.rb +39 -0
- data/spec/brauser/hooks_spec.rb +2 -3
- data/spec/brauser/query_spec.rb +29 -33
- metadata +8 -5
data/Gemfile
CHANGED
@@ -10,11 +10,11 @@ gemspec
|
|
10
10
|
|
11
11
|
# Testing
|
12
12
|
gem "rspec", "~> 2.13.0"
|
13
|
-
gem "rake", "~> 10.0.
|
13
|
+
gem "rake", "~> 10.0.4"
|
14
14
|
|
15
15
|
# Documentation
|
16
16
|
gem "simplecov", ">= 0.7.1"
|
17
17
|
gem "pry", ">= 0"
|
18
|
-
gem "yard", ">= 0.8.
|
19
|
-
gem "kramdown", ">= 1.0.
|
18
|
+
gem "yard", ">= 0.8.6"
|
19
|
+
gem "kramdown", ">= 1.0.2"
|
20
20
|
gem "github-markup", ">= 0.7.5"
|
data/README.md
CHANGED
@@ -133,7 +133,7 @@ browser.is(:chrome).v({:lt => "2"}).on(:osx).result
|
|
133
133
|
|
134
134
|
Finally, Brauser support dynamic query operator to write simple queries without using concatenation.
|
135
135
|
|
136
|
-
You construct the method just using operator specified above, separating method name and method arguments with a `_
|
136
|
+
You construct the method just using operator specified above, separating method name and method arguments with a `_`.
|
137
137
|
|
138
138
|
For the version, use the expression form but use symbol operators and replace `.` with `_` and `&&` with `and`.
|
139
139
|
|
@@ -142,11 +142,11 @@ Example:
|
|
142
142
|
```ruby
|
143
143
|
# These expressions are equivalent.
|
144
144
|
browser.is(:chrome).v("< 2 && > 1.2").on(:osx).result
|
145
|
-
browser.
|
145
|
+
browser.is_chrome_v_lt_2_and_gt_1_2_on_osx.result
|
146
146
|
|
147
147
|
# These expressions are equivalent.
|
148
148
|
browser.is(:chrome).v("< 2 && > 1.2").on?(:osx)
|
149
|
-
browser.
|
149
|
+
browser.is_chrome_v_lt_2_and_gt_1_2_on_osx?
|
150
150
|
```
|
151
151
|
|
152
152
|
### Adding new browsers
|
data/brauser.gemspec
CHANGED
data/doc/Brauser.html
CHANGED
@@ -80,7 +80,7 @@
|
|
80
80
|
|
81
81
|
<dt class="r1 last">Defined in:</dt>
|
82
82
|
<dd class="r1 last">lib/brauser/hooks.rb<span class="defines">,<br />
|
83
|
-
lib/brauser/query.rb,<br /> lib/brauser/version.rb,<br /> lib/brauser/
|
83
|
+
lib/brauser/query.rb,<br /> lib/brauser/browser.rb,<br /> lib/brauser/version.rb,<br /> lib/brauser/definition.rb</span>
|
84
84
|
</dd>
|
85
85
|
|
86
86
|
</dl>
|
@@ -88,7 +88,8 @@
|
|
88
88
|
|
89
89
|
<h2>Overview</h2><div class="docstring">
|
90
90
|
<div class="discussion">
|
91
|
-
<p>
|
91
|
+
<p>This file is part of the brauser gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
|
92
|
+
Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.</p>
|
92
93
|
|
93
94
|
|
94
95
|
</div>
|
@@ -100,11 +101,11 @@
|
|
100
101
|
<p class="children">
|
101
102
|
|
102
103
|
|
103
|
-
<strong class="modules">Modules:</strong> <span class='object_link'><a href="Brauser/BrowserMethods.html" title="Brauser::BrowserMethods (module)">BrowserMethods</a></span>, <span class='object_link'><a href="Brauser/Hooks.html" title="Brauser::Hooks (module)">Hooks</a></span>, <span class='object_link'><a href="Brauser/Version.html" title="Brauser::Version (module)">Version</a></span>
|
104
|
+
<strong class="modules">Modules:</strong> <span class='object_link'><a href="Brauser/BrowserMethods.html" title="Brauser::BrowserMethods (module)">BrowserMethods</a></span>, <span class='object_link'><a href="Brauser/Chainers.html" title="Brauser::Chainers (module)">Chainers</a></span>, <span class='object_link'><a href="Brauser/Hooks.html" title="Brauser::Hooks (module)">Hooks</a></span>, <span class='object_link'><a href="Brauser/Queries.html" title="Brauser::Queries (module)">Queries</a></span>, <span class='object_link'><a href="Brauser/Version.html" title="Brauser::Version (module)">Version</a></span>
|
104
105
|
|
105
106
|
|
106
107
|
|
107
|
-
<strong class="classes">Classes:</strong> <span class='object_link'><a href="Brauser/Browser.html" title="Brauser::Browser (class)">Browser</a></span>, <span class='object_link'><a href="Brauser/Query.html" title="Brauser::Query (class)">Query</a></span>
|
108
|
+
<strong class="classes">Classes:</strong> <span class='object_link'><a href="Brauser/Browser.html" title="Brauser::Browser (class)">Browser</a></span>, <span class='object_link'><a href="Brauser/Definition.html" title="Brauser::Definition (class)">Definition</a></span>, <span class='object_link'><a href="Brauser/Query.html" title="Brauser::Query (class)">Query</a></span>
|
108
109
|
|
109
110
|
|
110
111
|
</p>
|
@@ -120,7 +121,7 @@
|
|
120
121
|
</div>
|
121
122
|
|
122
123
|
<div id="footer">
|
123
|
-
Generated on
|
124
|
+
Generated on Sun May 19 12:02:56 2013 by
|
124
125
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
125
126
|
0.8.6.1 (ruby-1.9.3).
|
126
127
|
</div>
|
data/doc/Brauser/Browser.html
CHANGED
@@ -489,31 +489,31 @@
|
|
489
489
|
<pre class="lines">
|
490
490
|
|
491
491
|
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
492
|
+
677
|
493
|
+
678
|
494
|
+
679
|
495
|
+
680
|
496
|
+
681
|
497
|
+
682
|
498
|
+
683
|
499
|
+
684
|
500
|
+
685
|
501
|
+
686
|
502
|
+
687</pre>
|
503
503
|
</td>
|
504
504
|
<td>
|
505
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
505
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 677</span>
|
506
506
|
|
507
507
|
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_agent'>agent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_accept_language'>accept_language</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
508
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
509
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
510
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
508
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_browsers'>add_default_browsers</span>
|
509
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_platforms'>add_default_platforms</span>
|
510
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_languages'>add_default_languages</span>
|
511
511
|
|
512
512
|
<span class='ivar'>@agent</span> <span class='op'>=</span> <span class='id identifier rubyid_agent'>agent</span>
|
513
513
|
<span class='ivar'>@accept_language</span> <span class='op'>=</span> <span class='id identifier rubyid_accept_language'>accept_language</span>
|
514
514
|
|
515
|
-
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='
|
516
|
-
<span class='
|
515
|
+
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_accept_language'>parse_accept_language</span><span class='lparen'>(</span><span class='ivar'>@accept_language</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@accept_language</span>
|
516
|
+
<span class='id identifier rubyid_parse_agent'>parse_agent</span><span class='lparen'>(</span><span class='ivar'>@agent</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@agent</span>
|
517
517
|
<span class='kw'>end</span></pre>
|
518
518
|
</td>
|
519
519
|
</tr>
|
@@ -544,7 +544,7 @@
|
|
544
544
|
<p>For example:</p>
|
545
545
|
|
546
546
|
<p><code>ruby
|
547
|
-
browser.
|
547
|
+
browser.is_msie_gt_4_1_on_windows?
|
548
548
|
#=> true
|
549
549
|
</code></p>
|
550
550
|
|
@@ -569,7 +569,7 @@ browser.is_msie_gt_4_1__on_windows?
|
|
569
569
|
|
570
570
|
|
571
571
|
—
|
572
|
-
<div class='inline'><p>The query to issue. Use <code>
|
572
|
+
<div class='inline'><p>The query to issue. Use <code>_</code> in place of <code>.</code> in the version.</p>
|
573
573
|
</div>
|
574
574
|
|
575
575
|
</li>
|
@@ -630,24 +630,24 @@ browser.is_msie_gt_4_1__on_windows?
|
|
630
630
|
<pre class="lines">
|
631
631
|
|
632
632
|
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
633
|
+
706
|
634
|
+
707
|
635
|
+
708
|
636
|
+
709
|
637
|
+
710
|
638
|
+
711
|
639
|
+
712
|
640
|
+
713
|
641
|
+
714</pre>
|
642
642
|
</td>
|
643
643
|
<td>
|
644
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
644
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 706</span>
|
645
645
|
|
646
646
|
<span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
647
647
|
<span class='kw'>begin</span>
|
648
|
-
<span class='id identifier
|
649
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier
|
650
|
-
<span class='id identifier
|
648
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=</span> <span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
649
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query_s'>query_s</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Query</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
650
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span> <span class='op'>?</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span> <span class='op'>:</span> <span class='id identifier rubyid_rv'>rv</span>
|
651
651
|
<span class='kw'>rescue</span> <span class='const'>NoMethodError</span>
|
652
652
|
<span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
653
653
|
<span class='kw'>end</span>
|
@@ -706,6 +706,78 @@ browser.is_msie_gt_4_1__on_windows?
|
|
706
706
|
<pre class="lines">
|
707
707
|
|
708
708
|
|
709
|
+
654
|
710
|
+
655
|
711
|
+
656
|
712
|
+
657
|
713
|
+
658
|
714
|
+
659
|
715
|
+
660
|
716
|
+
661
|
717
|
+
662
|
718
|
+
663
|
719
|
+
664
|
720
|
+
665
|
721
|
+
666
|
722
|
+
667
|
723
|
+
668
|
724
|
+
669
|
725
|
+
670
|
726
|
+
671
|
727
|
+
672
|
728
|
+
673
|
729
|
+
674
|
730
|
+
675
|
731
|
+
676
|
732
|
+
677
|
733
|
+
678
|
734
|
+
679
|
735
|
+
680
|
736
|
+
681
|
737
|
+
682
|
738
|
+
683
|
739
|
+
684
|
740
|
+
685
|
741
|
+
686
|
742
|
+
687
|
743
|
+
688
|
744
|
+
689
|
745
|
+
690
|
746
|
+
691
|
747
|
+
692
|
748
|
+
693
|
749
|
+
694
|
750
|
+
695
|
751
|
+
696
|
752
|
+
697
|
753
|
+
698
|
754
|
+
699
|
755
|
+
700
|
756
|
+
701
|
757
|
+
702
|
758
|
+
703
|
759
|
+
704
|
760
|
+
705
|
761
|
+
706
|
762
|
+
707
|
763
|
+
708
|
764
|
+
709
|
765
|
+
710
|
766
|
+
711
|
767
|
+
712
|
768
|
+
713
|
769
|
+
714
|
770
|
+
715
|
771
|
+
716
|
772
|
+
717
|
773
|
+
718
|
774
|
+
719
|
775
|
+
720
|
776
|
+
721
|
777
|
+
722
|
778
|
+
723
|
779
|
+
724
|
780
|
+
725
|
709
781
|
726
|
710
782
|
727
|
711
783
|
728
|
@@ -759,81 +831,10 @@ browser.is_msie_gt_4_1__on_windows?
|
|
759
831
|
776
|
760
832
|
777
|
761
833
|
778
|
762
|
-
779
|
763
|
-
780
|
764
|
-
781
|
765
|
-
782
|
766
|
-
783
|
767
|
-
784
|
768
|
-
785
|
769
|
-
786
|
770
|
-
787
|
771
|
-
788
|
772
|
-
789
|
773
|
-
790
|
774
|
-
791
|
775
|
-
792
|
776
|
-
793
|
777
|
-
794
|
778
|
-
795
|
779
|
-
796
|
780
|
-
797
|
781
|
-
798
|
782
|
-
799
|
783
|
-
800
|
784
|
-
801
|
785
|
-
802
|
786
|
-
803
|
787
|
-
804
|
788
|
-
805
|
789
|
-
806
|
790
|
-
807
|
791
|
-
808
|
792
|
-
809
|
793
|
-
810
|
794
|
-
811
|
795
|
-
812
|
796
|
-
813
|
797
|
-
814
|
798
|
-
815
|
799
|
-
816
|
800
|
-
817
|
801
|
-
818
|
802
|
-
819
|
803
|
-
820
|
804
|
-
821
|
805
|
-
822
|
806
|
-
823
|
807
|
-
824
|
808
|
-
825
|
809
|
-
826
|
810
|
-
827
|
811
|
-
828
|
812
|
-
829
|
813
|
-
830
|
814
|
-
831
|
815
|
-
832
|
816
|
-
833
|
817
|
-
834
|
818
|
-
835
|
819
|
-
836
|
820
|
-
837
|
821
|
-
838
|
822
|
-
839
|
823
|
-
840
|
824
|
-
841
|
825
|
-
842
|
826
|
-
843
|
827
|
-
844
|
828
|
-
845
|
829
|
-
846
|
830
|
-
847
|
831
|
-
848
|
832
|
-
849
|
833
|
-
850</pre>
|
834
|
+
779</pre>
|
834
835
|
</td>
|
835
836
|
<td>
|
836
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
837
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 654</span>
|
837
838
|
|
838
839
|
<span class='kw'>class</span> <span class='const'>Browser</span>
|
839
840
|
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:agent</span>
|
@@ -859,15 +860,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
859
860
|
</span> <span class='comment'># @param agent [String] The User-Agent HTTP header.
|
860
861
|
</span> <span class='comment'># @param accept_language [String] The Accept-Language HTTP header.
|
861
862
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_agent'>agent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_accept_language'>accept_language</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
862
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
863
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
864
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
863
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_browsers'>add_default_browsers</span>
|
864
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_platforms'>add_default_platforms</span>
|
865
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_languages'>add_default_languages</span>
|
865
866
|
|
866
867
|
<span class='ivar'>@agent</span> <span class='op'>=</span> <span class='id identifier rubyid_agent'>agent</span>
|
867
868
|
<span class='ivar'>@accept_language</span> <span class='op'>=</span> <span class='id identifier rubyid_accept_language'>accept_language</span>
|
868
869
|
|
869
|
-
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='
|
870
|
-
<span class='
|
870
|
+
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_accept_language'>parse_accept_language</span><span class='lparen'>(</span><span class='ivar'>@accept_language</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@accept_language</span>
|
871
|
+
<span class='id identifier rubyid_parse_agent'>parse_agent</span><span class='lparen'>(</span><span class='ivar'>@agent</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@agent</span>
|
871
872
|
<span class='kw'>end</span>
|
872
873
|
|
873
874
|
<span class='comment'># This method enables the use of dynamic queries in just one method.
|
@@ -875,7 +876,7 @@ browser.is_msie_gt_4_1__on_windows?
|
|
875
876
|
</span> <span class='comment'># For example:
|
876
877
|
</span> <span class='comment'>#
|
877
878
|
</span> <span class='comment'># ```ruby
|
878
|
-
</span> <span class='comment'># browser.
|
879
|
+
</span> <span class='comment'># browser.is_msie_gt_4_1_on_windows?
|
879
880
|
</span> <span class='comment'># #=> true
|
880
881
|
</span> <span class='comment'># ```
|
881
882
|
</span> <span class='comment'>#
|
@@ -883,15 +884,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
883
884
|
</span> <span class='comment'>#
|
884
885
|
</span> <span class='comment'># If the syntax is invalid, a `NoMethodError` exception will be raised.
|
885
886
|
</span> <span class='comment'>#
|
886
|
-
</span> <span class='comment'># @param query [String] The query to issue. Use `
|
887
|
+
</span> <span class='comment'># @param query [String] The query to issue. Use `_` in place of `.` in the version.
|
887
888
|
</span> <span class='comment'># @param arguments [Array] The arguments to pass the method. Unused from the query.
|
888
889
|
</span> <span class='comment'># @param block [Proc] A block to pass to the method. Unused from the query.
|
889
890
|
</span> <span class='comment'># @return [Boolean|Query|nil] A query or a boolean value (if `method` ends with `?`). If the query is not valid, `NoMethodError` will be raised.
|
890
891
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
891
892
|
<span class='kw'>begin</span>
|
892
|
-
<span class='id identifier
|
893
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier
|
894
|
-
<span class='id identifier
|
893
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=</span> <span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
894
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query_s'>query_s</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Query</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
895
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span> <span class='op'>?</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span> <span class='op'>:</span> <span class='id identifier rubyid_rv'>rv</span>
|
895
896
|
<span class='kw'>rescue</span> <span class='const'>NoMethodError</span>
|
896
897
|
<span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
897
898
|
<span class='kw'>end</span>
|
@@ -908,10 +909,11 @@ browser.is_msie_gt_4_1__on_windows?
|
|
908
909
|
|
909
910
|
<span class='id identifier rubyid_private'>private</span>
|
910
911
|
<span class='comment'># Parse query, getting all arguments.
|
912
|
+
</span> <span class='comment'>#
|
911
913
|
</span> <span class='comment'># @param query [String] The query to issue. Use `__` to separate query and `_` in place of `.` in the version.
|
912
914
|
</span> <span class='comment'># @return [Array] And array of `[method, arguments]` entries.
|
913
915
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span>
|
914
|
-
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>
|
916
|
+
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(_(v|on|is))</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> \\2</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span>
|
915
917
|
<span class='id identifier rubyid_parse_query_part'>parse_query_part</span><span class='lparen'>(</span><span class='id identifier rubyid_part'>part</span><span class='rparen'>)</span>
|
916
918
|
<span class='kw'>end</span>
|
917
919
|
<span class='kw'>end</span>
|
@@ -1013,6 +1015,78 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1013
1015
|
<pre class="lines">
|
1014
1016
|
|
1015
1017
|
|
1018
|
+
654
|
1019
|
+
655
|
1020
|
+
656
|
1021
|
+
657
|
1022
|
+
658
|
1023
|
+
659
|
1024
|
+
660
|
1025
|
+
661
|
1026
|
+
662
|
1027
|
+
663
|
1028
|
+
664
|
1029
|
+
665
|
1030
|
+
666
|
1031
|
+
667
|
1032
|
+
668
|
1033
|
+
669
|
1034
|
+
670
|
1035
|
+
671
|
1036
|
+
672
|
1037
|
+
673
|
1038
|
+
674
|
1039
|
+
675
|
1040
|
+
676
|
1041
|
+
677
|
1042
|
+
678
|
1043
|
+
679
|
1044
|
+
680
|
1045
|
+
681
|
1046
|
+
682
|
1047
|
+
683
|
1048
|
+
684
|
1049
|
+
685
|
1050
|
+
686
|
1051
|
+
687
|
1052
|
+
688
|
1053
|
+
689
|
1054
|
+
690
|
1055
|
+
691
|
1056
|
+
692
|
1057
|
+
693
|
1058
|
+
694
|
1059
|
+
695
|
1060
|
+
696
|
1061
|
+
697
|
1062
|
+
698
|
1063
|
+
699
|
1064
|
+
700
|
1065
|
+
701
|
1066
|
+
702
|
1067
|
+
703
|
1068
|
+
704
|
1069
|
+
705
|
1070
|
+
706
|
1071
|
+
707
|
1072
|
+
708
|
1073
|
+
709
|
1074
|
+
710
|
1075
|
+
711
|
1076
|
+
712
|
1077
|
+
713
|
1078
|
+
714
|
1079
|
+
715
|
1080
|
+
716
|
1081
|
+
717
|
1082
|
+
718
|
1083
|
+
719
|
1084
|
+
720
|
1085
|
+
721
|
1086
|
+
722
|
1087
|
+
723
|
1088
|
+
724
|
1089
|
+
725
|
1016
1090
|
726
|
1017
1091
|
727
|
1018
1092
|
728
|
@@ -1066,81 +1140,10 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1066
1140
|
776
|
1067
1141
|
777
|
1068
1142
|
778
|
1069
|
-
779
|
1070
|
-
780
|
1071
|
-
781
|
1072
|
-
782
|
1073
|
-
783
|
1074
|
-
784
|
1075
|
-
785
|
1076
|
-
786
|
1077
|
-
787
|
1078
|
-
788
|
1079
|
-
789
|
1080
|
-
790
|
1081
|
-
791
|
1082
|
-
792
|
1083
|
-
793
|
1084
|
-
794
|
1085
|
-
795
|
1086
|
-
796
|
1087
|
-
797
|
1088
|
-
798
|
1089
|
-
799
|
1090
|
-
800
|
1091
|
-
801
|
1092
|
-
802
|
1093
|
-
803
|
1094
|
-
804
|
1095
|
-
805
|
1096
|
-
806
|
1097
|
-
807
|
1098
|
-
808
|
1099
|
-
809
|
1100
|
-
810
|
1101
|
-
811
|
1102
|
-
812
|
1103
|
-
813
|
1104
|
-
814
|
1105
|
-
815
|
1106
|
-
816
|
1107
|
-
817
|
1108
|
-
818
|
1109
|
-
819
|
1110
|
-
820
|
1111
|
-
821
|
1112
|
-
822
|
1113
|
-
823
|
1114
|
-
824
|
1115
|
-
825
|
1116
|
-
826
|
1117
|
-
827
|
1118
|
-
828
|
1119
|
-
829
|
1120
|
-
830
|
1121
|
-
831
|
1122
|
-
832
|
1123
|
-
833
|
1124
|
-
834
|
1125
|
-
835
|
1126
|
-
836
|
1127
|
-
837
|
1128
|
-
838
|
1129
|
-
839
|
1130
|
-
840
|
1131
|
-
841
|
1132
|
-
842
|
1133
|
-
843
|
1134
|
-
844
|
1135
|
-
845
|
1136
|
-
846
|
1137
|
-
847
|
1138
|
-
848
|
1139
|
-
849
|
1140
|
-
850</pre>
|
1143
|
+
779</pre>
|
1141
1144
|
</td>
|
1142
1145
|
<td>
|
1143
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
1146
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 654</span>
|
1144
1147
|
|
1145
1148
|
<span class='kw'>class</span> <span class='const'>Browser</span>
|
1146
1149
|
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:agent</span>
|
@@ -1166,15 +1169,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1166
1169
|
</span> <span class='comment'># @param agent [String] The User-Agent HTTP header.
|
1167
1170
|
</span> <span class='comment'># @param accept_language [String] The Accept-Language HTTP header.
|
1168
1171
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_agent'>agent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_accept_language'>accept_language</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1169
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
1170
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
1171
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
1172
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_browsers'>add_default_browsers</span>
|
1173
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_platforms'>add_default_platforms</span>
|
1174
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_languages'>add_default_languages</span>
|
1172
1175
|
|
1173
1176
|
<span class='ivar'>@agent</span> <span class='op'>=</span> <span class='id identifier rubyid_agent'>agent</span>
|
1174
1177
|
<span class='ivar'>@accept_language</span> <span class='op'>=</span> <span class='id identifier rubyid_accept_language'>accept_language</span>
|
1175
1178
|
|
1176
|
-
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='
|
1177
|
-
<span class='
|
1179
|
+
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_accept_language'>parse_accept_language</span><span class='lparen'>(</span><span class='ivar'>@accept_language</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@accept_language</span>
|
1180
|
+
<span class='id identifier rubyid_parse_agent'>parse_agent</span><span class='lparen'>(</span><span class='ivar'>@agent</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@agent</span>
|
1178
1181
|
<span class='kw'>end</span>
|
1179
1182
|
|
1180
1183
|
<span class='comment'># This method enables the use of dynamic queries in just one method.
|
@@ -1182,7 +1185,7 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1182
1185
|
</span> <span class='comment'># For example:
|
1183
1186
|
</span> <span class='comment'>#
|
1184
1187
|
</span> <span class='comment'># ```ruby
|
1185
|
-
</span> <span class='comment'># browser.
|
1188
|
+
</span> <span class='comment'># browser.is_msie_gt_4_1_on_windows?
|
1186
1189
|
</span> <span class='comment'># #=> true
|
1187
1190
|
</span> <span class='comment'># ```
|
1188
1191
|
</span> <span class='comment'>#
|
@@ -1190,15 +1193,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1190
1193
|
</span> <span class='comment'>#
|
1191
1194
|
</span> <span class='comment'># If the syntax is invalid, a `NoMethodError` exception will be raised.
|
1192
1195
|
</span> <span class='comment'>#
|
1193
|
-
</span> <span class='comment'># @param query [String] The query to issue. Use `
|
1196
|
+
</span> <span class='comment'># @param query [String] The query to issue. Use `_` in place of `.` in the version.
|
1194
1197
|
</span> <span class='comment'># @param arguments [Array] The arguments to pass the method. Unused from the query.
|
1195
1198
|
</span> <span class='comment'># @param block [Proc] A block to pass to the method. Unused from the query.
|
1196
1199
|
</span> <span class='comment'># @return [Boolean|Query|nil] A query or a boolean value (if `method` ends with `?`). If the query is not valid, `NoMethodError` will be raised.
|
1197
1200
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1198
1201
|
<span class='kw'>begin</span>
|
1199
|
-
<span class='id identifier
|
1200
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier
|
1201
|
-
<span class='id identifier
|
1202
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=</span> <span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1203
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query_s'>query_s</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Query</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1204
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span> <span class='op'>?</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span> <span class='op'>:</span> <span class='id identifier rubyid_rv'>rv</span>
|
1202
1205
|
<span class='kw'>rescue</span> <span class='const'>NoMethodError</span>
|
1203
1206
|
<span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1204
1207
|
<span class='kw'>end</span>
|
@@ -1215,10 +1218,11 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1215
1218
|
|
1216
1219
|
<span class='id identifier rubyid_private'>private</span>
|
1217
1220
|
<span class='comment'># Parse query, getting all arguments.
|
1221
|
+
</span> <span class='comment'>#
|
1218
1222
|
</span> <span class='comment'># @param query [String] The query to issue. Use `__` to separate query and `_` in place of `.` in the version.
|
1219
1223
|
</span> <span class='comment'># @return [Array] And array of `[method, arguments]` entries.
|
1220
1224
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span>
|
1221
|
-
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>
|
1225
|
+
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(_(v|on|is))</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> \\2</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span>
|
1222
1226
|
<span class='id identifier rubyid_parse_query_part'>parse_query_part</span><span class='lparen'>(</span><span class='id identifier rubyid_part'>part</span><span class='rparen'>)</span>
|
1223
1227
|
<span class='kw'>end</span>
|
1224
1228
|
<span class='kw'>end</span>
|
@@ -1316,6 +1320,78 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1316
1320
|
<pre class="lines">
|
1317
1321
|
|
1318
1322
|
|
1323
|
+
654
|
1324
|
+
655
|
1325
|
+
656
|
1326
|
+
657
|
1327
|
+
658
|
1328
|
+
659
|
1329
|
+
660
|
1330
|
+
661
|
1331
|
+
662
|
1332
|
+
663
|
1333
|
+
664
|
1334
|
+
665
|
1335
|
+
666
|
1336
|
+
667
|
1337
|
+
668
|
1338
|
+
669
|
1339
|
+
670
|
1340
|
+
671
|
1341
|
+
672
|
1342
|
+
673
|
1343
|
+
674
|
1344
|
+
675
|
1345
|
+
676
|
1346
|
+
677
|
1347
|
+
678
|
1348
|
+
679
|
1349
|
+
680
|
1350
|
+
681
|
1351
|
+
682
|
1352
|
+
683
|
1353
|
+
684
|
1354
|
+
685
|
1355
|
+
686
|
1356
|
+
687
|
1357
|
+
688
|
1358
|
+
689
|
1359
|
+
690
|
1360
|
+
691
|
1361
|
+
692
|
1362
|
+
693
|
1363
|
+
694
|
1364
|
+
695
|
1365
|
+
696
|
1366
|
+
697
|
1367
|
+
698
|
1368
|
+
699
|
1369
|
+
700
|
1370
|
+
701
|
1371
|
+
702
|
1372
|
+
703
|
1373
|
+
704
|
1374
|
+
705
|
1375
|
+
706
|
1376
|
+
707
|
1377
|
+
708
|
1378
|
+
709
|
1379
|
+
710
|
1380
|
+
711
|
1381
|
+
712
|
1382
|
+
713
|
1383
|
+
714
|
1384
|
+
715
|
1385
|
+
716
|
1386
|
+
717
|
1387
|
+
718
|
1388
|
+
719
|
1389
|
+
720
|
1390
|
+
721
|
1391
|
+
722
|
1392
|
+
723
|
1393
|
+
724
|
1394
|
+
725
|
1319
1395
|
726
|
1320
1396
|
727
|
1321
1397
|
728
|
@@ -1369,81 +1445,10 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1369
1445
|
776
|
1370
1446
|
777
|
1371
1447
|
778
|
1372
|
-
779
|
1373
|
-
780
|
1374
|
-
781
|
1375
|
-
782
|
1376
|
-
783
|
1377
|
-
784
|
1378
|
-
785
|
1379
|
-
786
|
1380
|
-
787
|
1381
|
-
788
|
1382
|
-
789
|
1383
|
-
790
|
1384
|
-
791
|
1385
|
-
792
|
1386
|
-
793
|
1387
|
-
794
|
1388
|
-
795
|
1389
|
-
796
|
1390
|
-
797
|
1391
|
-
798
|
1392
|
-
799
|
1393
|
-
800
|
1394
|
-
801
|
1395
|
-
802
|
1396
|
-
803
|
1397
|
-
804
|
1398
|
-
805
|
1399
|
-
806
|
1400
|
-
807
|
1401
|
-
808
|
1402
|
-
809
|
1403
|
-
810
|
1404
|
-
811
|
1405
|
-
812
|
1406
|
-
813
|
1407
|
-
814
|
1408
|
-
815
|
1409
|
-
816
|
1410
|
-
817
|
1411
|
-
818
|
1412
|
-
819
|
1413
|
-
820
|
1414
|
-
821
|
1415
|
-
822
|
1416
|
-
823
|
1417
|
-
824
|
1418
|
-
825
|
1419
|
-
826
|
1420
|
-
827
|
1421
|
-
828
|
1422
|
-
829
|
1423
|
-
830
|
1424
|
-
831
|
1425
|
-
832
|
1426
|
-
833
|
1427
|
-
834
|
1428
|
-
835
|
1429
|
-
836
|
1430
|
-
837
|
1431
|
-
838
|
1432
|
-
839
|
1433
|
-
840
|
1434
|
-
841
|
1435
|
-
842
|
1436
|
-
843
|
1437
|
-
844
|
1438
|
-
845
|
1439
|
-
846
|
1440
|
-
847
|
1441
|
-
848
|
1442
|
-
849
|
1443
|
-
850</pre>
|
1448
|
+
779</pre>
|
1444
1449
|
</td>
|
1445
1450
|
<td>
|
1446
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
1451
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 654</span>
|
1447
1452
|
|
1448
1453
|
<span class='kw'>class</span> <span class='const'>Browser</span>
|
1449
1454
|
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:agent</span>
|
@@ -1469,15 +1474,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1469
1474
|
</span> <span class='comment'># @param agent [String] The User-Agent HTTP header.
|
1470
1475
|
</span> <span class='comment'># @param accept_language [String] The Accept-Language HTTP header.
|
1471
1476
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_agent'>agent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_accept_language'>accept_language</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1472
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
1473
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
1474
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
1477
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_browsers'>add_default_browsers</span>
|
1478
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_platforms'>add_default_platforms</span>
|
1479
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_languages'>add_default_languages</span>
|
1475
1480
|
|
1476
1481
|
<span class='ivar'>@agent</span> <span class='op'>=</span> <span class='id identifier rubyid_agent'>agent</span>
|
1477
1482
|
<span class='ivar'>@accept_language</span> <span class='op'>=</span> <span class='id identifier rubyid_accept_language'>accept_language</span>
|
1478
1483
|
|
1479
|
-
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='
|
1480
|
-
<span class='
|
1484
|
+
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_accept_language'>parse_accept_language</span><span class='lparen'>(</span><span class='ivar'>@accept_language</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@accept_language</span>
|
1485
|
+
<span class='id identifier rubyid_parse_agent'>parse_agent</span><span class='lparen'>(</span><span class='ivar'>@agent</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@agent</span>
|
1481
1486
|
<span class='kw'>end</span>
|
1482
1487
|
|
1483
1488
|
<span class='comment'># This method enables the use of dynamic queries in just one method.
|
@@ -1485,7 +1490,7 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1485
1490
|
</span> <span class='comment'># For example:
|
1486
1491
|
</span> <span class='comment'>#
|
1487
1492
|
</span> <span class='comment'># ```ruby
|
1488
|
-
</span> <span class='comment'># browser.
|
1493
|
+
</span> <span class='comment'># browser.is_msie_gt_4_1_on_windows?
|
1489
1494
|
</span> <span class='comment'># #=> true
|
1490
1495
|
</span> <span class='comment'># ```
|
1491
1496
|
</span> <span class='comment'>#
|
@@ -1493,15 +1498,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1493
1498
|
</span> <span class='comment'>#
|
1494
1499
|
</span> <span class='comment'># If the syntax is invalid, a `NoMethodError` exception will be raised.
|
1495
1500
|
</span> <span class='comment'>#
|
1496
|
-
</span> <span class='comment'># @param query [String] The query to issue. Use `
|
1501
|
+
</span> <span class='comment'># @param query [String] The query to issue. Use `_` in place of `.` in the version.
|
1497
1502
|
</span> <span class='comment'># @param arguments [Array] The arguments to pass the method. Unused from the query.
|
1498
1503
|
</span> <span class='comment'># @param block [Proc] A block to pass to the method. Unused from the query.
|
1499
1504
|
</span> <span class='comment'># @return [Boolean|Query|nil] A query or a boolean value (if `method` ends with `?`). If the query is not valid, `NoMethodError` will be raised.
|
1500
1505
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1501
1506
|
<span class='kw'>begin</span>
|
1502
|
-
<span class='id identifier
|
1503
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier
|
1504
|
-
<span class='id identifier
|
1507
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=</span> <span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1508
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query_s'>query_s</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Query</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1509
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span> <span class='op'>?</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span> <span class='op'>:</span> <span class='id identifier rubyid_rv'>rv</span>
|
1505
1510
|
<span class='kw'>rescue</span> <span class='const'>NoMethodError</span>
|
1506
1511
|
<span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1507
1512
|
<span class='kw'>end</span>
|
@@ -1518,10 +1523,11 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1518
1523
|
|
1519
1524
|
<span class='id identifier rubyid_private'>private</span>
|
1520
1525
|
<span class='comment'># Parse query, getting all arguments.
|
1526
|
+
</span> <span class='comment'>#
|
1521
1527
|
</span> <span class='comment'># @param query [String] The query to issue. Use `__` to separate query and `_` in place of `.` in the version.
|
1522
1528
|
</span> <span class='comment'># @return [Array] And array of `[method, arguments]` entries.
|
1523
1529
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span>
|
1524
|
-
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>
|
1530
|
+
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(_(v|on|is))</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> \\2</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span>
|
1525
1531
|
<span class='id identifier rubyid_parse_query_part'>parse_query_part</span><span class='lparen'>(</span><span class='id identifier rubyid_part'>part</span><span class='rparen'>)</span>
|
1526
1532
|
<span class='kw'>end</span>
|
1527
1533
|
<span class='kw'>end</span>
|
@@ -1619,6 +1625,78 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1619
1625
|
<pre class="lines">
|
1620
1626
|
|
1621
1627
|
|
1628
|
+
654
|
1629
|
+
655
|
1630
|
+
656
|
1631
|
+
657
|
1632
|
+
658
|
1633
|
+
659
|
1634
|
+
660
|
1635
|
+
661
|
1636
|
+
662
|
1637
|
+
663
|
1638
|
+
664
|
1639
|
+
665
|
1640
|
+
666
|
1641
|
+
667
|
1642
|
+
668
|
1643
|
+
669
|
1644
|
+
670
|
1645
|
+
671
|
1646
|
+
672
|
1647
|
+
673
|
1648
|
+
674
|
1649
|
+
675
|
1650
|
+
676
|
1651
|
+
677
|
1652
|
+
678
|
1653
|
+
679
|
1654
|
+
680
|
1655
|
+
681
|
1656
|
+
682
|
1657
|
+
683
|
1658
|
+
684
|
1659
|
+
685
|
1660
|
+
686
|
1661
|
+
687
|
1662
|
+
688
|
1663
|
+
689
|
1664
|
+
690
|
1665
|
+
691
|
1666
|
+
692
|
1667
|
+
693
|
1668
|
+
694
|
1669
|
+
695
|
1670
|
+
696
|
1671
|
+
697
|
1672
|
+
698
|
1673
|
+
699
|
1674
|
+
700
|
1675
|
+
701
|
1676
|
+
702
|
1677
|
+
703
|
1678
|
+
704
|
1679
|
+
705
|
1680
|
+
706
|
1681
|
+
707
|
1682
|
+
708
|
1683
|
+
709
|
1684
|
+
710
|
1685
|
+
711
|
1686
|
+
712
|
1687
|
+
713
|
1688
|
+
714
|
1689
|
+
715
|
1690
|
+
716
|
1691
|
+
717
|
1692
|
+
718
|
1693
|
+
719
|
1694
|
+
720
|
1695
|
+
721
|
1696
|
+
722
|
1697
|
+
723
|
1698
|
+
724
|
1699
|
+
725
|
1622
1700
|
726
|
1623
1701
|
727
|
1624
1702
|
728
|
@@ -1672,81 +1750,10 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1672
1750
|
776
|
1673
1751
|
777
|
1674
1752
|
778
|
1675
|
-
779
|
1676
|
-
780
|
1677
|
-
781
|
1678
|
-
782
|
1679
|
-
783
|
1680
|
-
784
|
1681
|
-
785
|
1682
|
-
786
|
1683
|
-
787
|
1684
|
-
788
|
1685
|
-
789
|
1686
|
-
790
|
1687
|
-
791
|
1688
|
-
792
|
1689
|
-
793
|
1690
|
-
794
|
1691
|
-
795
|
1692
|
-
796
|
1693
|
-
797
|
1694
|
-
798
|
1695
|
-
799
|
1696
|
-
800
|
1697
|
-
801
|
1698
|
-
802
|
1699
|
-
803
|
1700
|
-
804
|
1701
|
-
805
|
1702
|
-
806
|
1703
|
-
807
|
1704
|
-
808
|
1705
|
-
809
|
1706
|
-
810
|
1707
|
-
811
|
1708
|
-
812
|
1709
|
-
813
|
1710
|
-
814
|
1711
|
-
815
|
1712
|
-
816
|
1713
|
-
817
|
1714
|
-
818
|
1715
|
-
819
|
1716
|
-
820
|
1717
|
-
821
|
1718
|
-
822
|
1719
|
-
823
|
1720
|
-
824
|
1721
|
-
825
|
1722
|
-
826
|
1723
|
-
827
|
1724
|
-
828
|
1725
|
-
829
|
1726
|
-
830
|
1727
|
-
831
|
1728
|
-
832
|
1729
|
-
833
|
1730
|
-
834
|
1731
|
-
835
|
1732
|
-
836
|
1733
|
-
837
|
1734
|
-
838
|
1735
|
-
839
|
1736
|
-
840
|
1737
|
-
841
|
1738
|
-
842
|
1739
|
-
843
|
1740
|
-
844
|
1741
|
-
845
|
1742
|
-
846
|
1743
|
-
847
|
1744
|
-
848
|
1745
|
-
849
|
1746
|
-
850</pre>
|
1753
|
+
779</pre>
|
1747
1754
|
</td>
|
1748
1755
|
<td>
|
1749
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
1756
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 654</span>
|
1750
1757
|
|
1751
1758
|
<span class='kw'>class</span> <span class='const'>Browser</span>
|
1752
1759
|
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:agent</span>
|
@@ -1772,15 +1779,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1772
1779
|
</span> <span class='comment'># @param agent [String] The User-Agent HTTP header.
|
1773
1780
|
</span> <span class='comment'># @param accept_language [String] The Accept-Language HTTP header.
|
1774
1781
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_agent'>agent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_accept_language'>accept_language</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1775
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
1776
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
1777
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
1782
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_browsers'>add_default_browsers</span>
|
1783
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_platforms'>add_default_platforms</span>
|
1784
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_languages'>add_default_languages</span>
|
1778
1785
|
|
1779
1786
|
<span class='ivar'>@agent</span> <span class='op'>=</span> <span class='id identifier rubyid_agent'>agent</span>
|
1780
1787
|
<span class='ivar'>@accept_language</span> <span class='op'>=</span> <span class='id identifier rubyid_accept_language'>accept_language</span>
|
1781
1788
|
|
1782
|
-
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='
|
1783
|
-
<span class='
|
1789
|
+
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_accept_language'>parse_accept_language</span><span class='lparen'>(</span><span class='ivar'>@accept_language</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@accept_language</span>
|
1790
|
+
<span class='id identifier rubyid_parse_agent'>parse_agent</span><span class='lparen'>(</span><span class='ivar'>@agent</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@agent</span>
|
1784
1791
|
<span class='kw'>end</span>
|
1785
1792
|
|
1786
1793
|
<span class='comment'># This method enables the use of dynamic queries in just one method.
|
@@ -1788,7 +1795,7 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1788
1795
|
</span> <span class='comment'># For example:
|
1789
1796
|
</span> <span class='comment'>#
|
1790
1797
|
</span> <span class='comment'># ```ruby
|
1791
|
-
</span> <span class='comment'># browser.
|
1798
|
+
</span> <span class='comment'># browser.is_msie_gt_4_1_on_windows?
|
1792
1799
|
</span> <span class='comment'># #=> true
|
1793
1800
|
</span> <span class='comment'># ```
|
1794
1801
|
</span> <span class='comment'>#
|
@@ -1796,15 +1803,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1796
1803
|
</span> <span class='comment'>#
|
1797
1804
|
</span> <span class='comment'># If the syntax is invalid, a `NoMethodError` exception will be raised.
|
1798
1805
|
</span> <span class='comment'>#
|
1799
|
-
</span> <span class='comment'># @param query [String] The query to issue. Use `
|
1806
|
+
</span> <span class='comment'># @param query [String] The query to issue. Use `_` in place of `.` in the version.
|
1800
1807
|
</span> <span class='comment'># @param arguments [Array] The arguments to pass the method. Unused from the query.
|
1801
1808
|
</span> <span class='comment'># @param block [Proc] A block to pass to the method. Unused from the query.
|
1802
1809
|
</span> <span class='comment'># @return [Boolean|Query|nil] A query or a boolean value (if `method` ends with `?`). If the query is not valid, `NoMethodError` will be raised.
|
1803
1810
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1804
1811
|
<span class='kw'>begin</span>
|
1805
|
-
<span class='id identifier
|
1806
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier
|
1807
|
-
<span class='id identifier
|
1812
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=</span> <span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1813
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query_s'>query_s</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Query</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1814
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span> <span class='op'>?</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span> <span class='op'>:</span> <span class='id identifier rubyid_rv'>rv</span>
|
1808
1815
|
<span class='kw'>rescue</span> <span class='const'>NoMethodError</span>
|
1809
1816
|
<span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
1810
1817
|
<span class='kw'>end</span>
|
@@ -1821,10 +1828,11 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1821
1828
|
|
1822
1829
|
<span class='id identifier rubyid_private'>private</span>
|
1823
1830
|
<span class='comment'># Parse query, getting all arguments.
|
1831
|
+
</span> <span class='comment'>#
|
1824
1832
|
</span> <span class='comment'># @param query [String] The query to issue. Use `__` to separate query and `_` in place of `.` in the version.
|
1825
1833
|
</span> <span class='comment'># @return [Array] And array of `[method, arguments]` entries.
|
1826
1834
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span>
|
1827
|
-
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>
|
1835
|
+
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(_(v|on|is))</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> \\2</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span>
|
1828
1836
|
<span class='id identifier rubyid_parse_query_part'>parse_query_part</span><span class='lparen'>(</span><span class='id identifier rubyid_part'>part</span><span class='rparen'>)</span>
|
1829
1837
|
<span class='kw'>end</span>
|
1830
1838
|
<span class='kw'>end</span>
|
@@ -1922,6 +1930,78 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1922
1930
|
<pre class="lines">
|
1923
1931
|
|
1924
1932
|
|
1933
|
+
654
|
1934
|
+
655
|
1935
|
+
656
|
1936
|
+
657
|
1937
|
+
658
|
1938
|
+
659
|
1939
|
+
660
|
1940
|
+
661
|
1941
|
+
662
|
1942
|
+
663
|
1943
|
+
664
|
1944
|
+
665
|
1945
|
+
666
|
1946
|
+
667
|
1947
|
+
668
|
1948
|
+
669
|
1949
|
+
670
|
1950
|
+
671
|
1951
|
+
672
|
1952
|
+
673
|
1953
|
+
674
|
1954
|
+
675
|
1955
|
+
676
|
1956
|
+
677
|
1957
|
+
678
|
1958
|
+
679
|
1959
|
+
680
|
1960
|
+
681
|
1961
|
+
682
|
1962
|
+
683
|
1963
|
+
684
|
1964
|
+
685
|
1965
|
+
686
|
1966
|
+
687
|
1967
|
+
688
|
1968
|
+
689
|
1969
|
+
690
|
1970
|
+
691
|
1971
|
+
692
|
1972
|
+
693
|
1973
|
+
694
|
1974
|
+
695
|
1975
|
+
696
|
1976
|
+
697
|
1977
|
+
698
|
1978
|
+
699
|
1979
|
+
700
|
1980
|
+
701
|
1981
|
+
702
|
1982
|
+
703
|
1983
|
+
704
|
1984
|
+
705
|
1985
|
+
706
|
1986
|
+
707
|
1987
|
+
708
|
1988
|
+
709
|
1989
|
+
710
|
1990
|
+
711
|
1991
|
+
712
|
1992
|
+
713
|
1993
|
+
714
|
1994
|
+
715
|
1995
|
+
716
|
1996
|
+
717
|
1997
|
+
718
|
1998
|
+
719
|
1999
|
+
720
|
2000
|
+
721
|
2001
|
+
722
|
2002
|
+
723
|
2003
|
+
724
|
2004
|
+
725
|
1925
2005
|
726
|
1926
2006
|
727
|
1927
2007
|
728
|
@@ -1975,81 +2055,10 @@ browser.is_msie_gt_4_1__on_windows?
|
|
1975
2055
|
776
|
1976
2056
|
777
|
1977
2057
|
778
|
1978
|
-
779
|
1979
|
-
780
|
1980
|
-
781
|
1981
|
-
782
|
1982
|
-
783
|
1983
|
-
784
|
1984
|
-
785
|
1985
|
-
786
|
1986
|
-
787
|
1987
|
-
788
|
1988
|
-
789
|
1989
|
-
790
|
1990
|
-
791
|
1991
|
-
792
|
1992
|
-
793
|
1993
|
-
794
|
1994
|
-
795
|
1995
|
-
796
|
1996
|
-
797
|
1997
|
-
798
|
1998
|
-
799
|
1999
|
-
800
|
2000
|
-
801
|
2001
|
-
802
|
2002
|
-
803
|
2003
|
-
804
|
2004
|
-
805
|
2005
|
-
806
|
2006
|
-
807
|
2007
|
-
808
|
2008
|
-
809
|
2009
|
-
810
|
2010
|
-
811
|
2011
|
-
812
|
2012
|
-
813
|
2013
|
-
814
|
2014
|
-
815
|
2015
|
-
816
|
2016
|
-
817
|
2017
|
-
818
|
2018
|
-
819
|
2019
|
-
820
|
2020
|
-
821
|
2021
|
-
822
|
2022
|
-
823
|
2023
|
-
824
|
2024
|
-
825
|
2025
|
-
826
|
2026
|
-
827
|
2027
|
-
828
|
2028
|
-
829
|
2029
|
-
830
|
2030
|
-
831
|
2031
|
-
832
|
2032
|
-
833
|
2033
|
-
834
|
2034
|
-
835
|
2035
|
-
836
|
2036
|
-
837
|
2037
|
-
838
|
2038
|
-
839
|
2039
|
-
840
|
2040
|
-
841
|
2041
|
-
842
|
2042
|
-
843
|
2043
|
-
844
|
2044
|
-
845
|
2045
|
-
846
|
2046
|
-
847
|
2047
|
-
848
|
2048
|
-
849
|
2049
|
-
850</pre>
|
2058
|
+
779</pre>
|
2050
2059
|
</td>
|
2051
2060
|
<td>
|
2052
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
2061
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 654</span>
|
2053
2062
|
|
2054
2063
|
<span class='kw'>class</span> <span class='const'>Browser</span>
|
2055
2064
|
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:agent</span>
|
@@ -2075,15 +2084,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2075
2084
|
</span> <span class='comment'># @param agent [String] The User-Agent HTTP header.
|
2076
2085
|
</span> <span class='comment'># @param accept_language [String] The Accept-Language HTTP header.
|
2077
2086
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_agent'>agent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_accept_language'>accept_language</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
2078
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
2079
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
2080
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
2087
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_browsers'>add_default_browsers</span>
|
2088
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_platforms'>add_default_platforms</span>
|
2089
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_languages'>add_default_languages</span>
|
2081
2090
|
|
2082
2091
|
<span class='ivar'>@agent</span> <span class='op'>=</span> <span class='id identifier rubyid_agent'>agent</span>
|
2083
2092
|
<span class='ivar'>@accept_language</span> <span class='op'>=</span> <span class='id identifier rubyid_accept_language'>accept_language</span>
|
2084
2093
|
|
2085
|
-
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='
|
2086
|
-
<span class='
|
2094
|
+
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_accept_language'>parse_accept_language</span><span class='lparen'>(</span><span class='ivar'>@accept_language</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@accept_language</span>
|
2095
|
+
<span class='id identifier rubyid_parse_agent'>parse_agent</span><span class='lparen'>(</span><span class='ivar'>@agent</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@agent</span>
|
2087
2096
|
<span class='kw'>end</span>
|
2088
2097
|
|
2089
2098
|
<span class='comment'># This method enables the use of dynamic queries in just one method.
|
@@ -2091,7 +2100,7 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2091
2100
|
</span> <span class='comment'># For example:
|
2092
2101
|
</span> <span class='comment'>#
|
2093
2102
|
</span> <span class='comment'># ```ruby
|
2094
|
-
</span> <span class='comment'># browser.
|
2103
|
+
</span> <span class='comment'># browser.is_msie_gt_4_1_on_windows?
|
2095
2104
|
</span> <span class='comment'># #=> true
|
2096
2105
|
</span> <span class='comment'># ```
|
2097
2106
|
</span> <span class='comment'>#
|
@@ -2099,15 +2108,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2099
2108
|
</span> <span class='comment'>#
|
2100
2109
|
</span> <span class='comment'># If the syntax is invalid, a `NoMethodError` exception will be raised.
|
2101
2110
|
</span> <span class='comment'>#
|
2102
|
-
</span> <span class='comment'># @param query [String] The query to issue. Use `
|
2111
|
+
</span> <span class='comment'># @param query [String] The query to issue. Use `_` in place of `.` in the version.
|
2103
2112
|
</span> <span class='comment'># @param arguments [Array] The arguments to pass the method. Unused from the query.
|
2104
2113
|
</span> <span class='comment'># @param block [Proc] A block to pass to the method. Unused from the query.
|
2105
2114
|
</span> <span class='comment'># @return [Boolean|Query|nil] A query or a boolean value (if `method` ends with `?`). If the query is not valid, `NoMethodError` will be raised.
|
2106
2115
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
2107
2116
|
<span class='kw'>begin</span>
|
2108
|
-
<span class='id identifier
|
2109
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier
|
2110
|
-
<span class='id identifier
|
2117
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=</span> <span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2118
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query_s'>query_s</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Query</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
2119
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span> <span class='op'>?</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span> <span class='op'>:</span> <span class='id identifier rubyid_rv'>rv</span>
|
2111
2120
|
<span class='kw'>rescue</span> <span class='const'>NoMethodError</span>
|
2112
2121
|
<span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
2113
2122
|
<span class='kw'>end</span>
|
@@ -2124,10 +2133,11 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2124
2133
|
|
2125
2134
|
<span class='id identifier rubyid_private'>private</span>
|
2126
2135
|
<span class='comment'># Parse query, getting all arguments.
|
2136
|
+
</span> <span class='comment'>#
|
2127
2137
|
</span> <span class='comment'># @param query [String] The query to issue. Use `__` to separate query and `_` in place of `.` in the version.
|
2128
2138
|
</span> <span class='comment'># @return [Array] And array of `[method, arguments]` entries.
|
2129
2139
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span>
|
2130
|
-
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>
|
2140
|
+
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(_(v|on|is))</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> \\2</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span>
|
2131
2141
|
<span class='id identifier rubyid_parse_query_part'>parse_query_part</span><span class='lparen'>(</span><span class='id identifier rubyid_part'>part</span><span class='rparen'>)</span>
|
2132
2142
|
<span class='kw'>end</span>
|
2133
2143
|
<span class='kw'>end</span>
|
@@ -2225,6 +2235,78 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2225
2235
|
<pre class="lines">
|
2226
2236
|
|
2227
2237
|
|
2238
|
+
654
|
2239
|
+
655
|
2240
|
+
656
|
2241
|
+
657
|
2242
|
+
658
|
2243
|
+
659
|
2244
|
+
660
|
2245
|
+
661
|
2246
|
+
662
|
2247
|
+
663
|
2248
|
+
664
|
2249
|
+
665
|
2250
|
+
666
|
2251
|
+
667
|
2252
|
+
668
|
2253
|
+
669
|
2254
|
+
670
|
2255
|
+
671
|
2256
|
+
672
|
2257
|
+
673
|
2258
|
+
674
|
2259
|
+
675
|
2260
|
+
676
|
2261
|
+
677
|
2262
|
+
678
|
2263
|
+
679
|
2264
|
+
680
|
2265
|
+
681
|
2266
|
+
682
|
2267
|
+
683
|
2268
|
+
684
|
2269
|
+
685
|
2270
|
+
686
|
2271
|
+
687
|
2272
|
+
688
|
2273
|
+
689
|
2274
|
+
690
|
2275
|
+
691
|
2276
|
+
692
|
2277
|
+
693
|
2278
|
+
694
|
2279
|
+
695
|
2280
|
+
696
|
2281
|
+
697
|
2282
|
+
698
|
2283
|
+
699
|
2284
|
+
700
|
2285
|
+
701
|
2286
|
+
702
|
2287
|
+
703
|
2288
|
+
704
|
2289
|
+
705
|
2290
|
+
706
|
2291
|
+
707
|
2292
|
+
708
|
2293
|
+
709
|
2294
|
+
710
|
2295
|
+
711
|
2296
|
+
712
|
2297
|
+
713
|
2298
|
+
714
|
2299
|
+
715
|
2300
|
+
716
|
2301
|
+
717
|
2302
|
+
718
|
2303
|
+
719
|
2304
|
+
720
|
2305
|
+
721
|
2306
|
+
722
|
2307
|
+
723
|
2308
|
+
724
|
2309
|
+
725
|
2228
2310
|
726
|
2229
2311
|
727
|
2230
2312
|
728
|
@@ -2278,81 +2360,10 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2278
2360
|
776
|
2279
2361
|
777
|
2280
2362
|
778
|
2281
|
-
779
|
2282
|
-
780
|
2283
|
-
781
|
2284
|
-
782
|
2285
|
-
783
|
2286
|
-
784
|
2287
|
-
785
|
2288
|
-
786
|
2289
|
-
787
|
2290
|
-
788
|
2291
|
-
789
|
2292
|
-
790
|
2293
|
-
791
|
2294
|
-
792
|
2295
|
-
793
|
2296
|
-
794
|
2297
|
-
795
|
2298
|
-
796
|
2299
|
-
797
|
2300
|
-
798
|
2301
|
-
799
|
2302
|
-
800
|
2303
|
-
801
|
2304
|
-
802
|
2305
|
-
803
|
2306
|
-
804
|
2307
|
-
805
|
2308
|
-
806
|
2309
|
-
807
|
2310
|
-
808
|
2311
|
-
809
|
2312
|
-
810
|
2313
|
-
811
|
2314
|
-
812
|
2315
|
-
813
|
2316
|
-
814
|
2317
|
-
815
|
2318
|
-
816
|
2319
|
-
817
|
2320
|
-
818
|
2321
|
-
819
|
2322
|
-
820
|
2323
|
-
821
|
2324
|
-
822
|
2325
|
-
823
|
2326
|
-
824
|
2327
|
-
825
|
2328
|
-
826
|
2329
|
-
827
|
2330
|
-
828
|
2331
|
-
829
|
2332
|
-
830
|
2333
|
-
831
|
2334
|
-
832
|
2335
|
-
833
|
2336
|
-
834
|
2337
|
-
835
|
2338
|
-
836
|
2339
|
-
837
|
2340
|
-
838
|
2341
|
-
839
|
2342
|
-
840
|
2343
|
-
841
|
2344
|
-
842
|
2345
|
-
843
|
2346
|
-
844
|
2347
|
-
845
|
2348
|
-
846
|
2349
|
-
847
|
2350
|
-
848
|
2351
|
-
849
|
2352
|
-
850</pre>
|
2363
|
+
779</pre>
|
2353
2364
|
</td>
|
2354
2365
|
<td>
|
2355
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
2366
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 654</span>
|
2356
2367
|
|
2357
2368
|
<span class='kw'>class</span> <span class='const'>Browser</span>
|
2358
2369
|
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:agent</span>
|
@@ -2378,15 +2389,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2378
2389
|
</span> <span class='comment'># @param agent [String] The User-Agent HTTP header.
|
2379
2390
|
</span> <span class='comment'># @param accept_language [String] The Accept-Language HTTP header.
|
2380
2391
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_agent'>agent</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_accept_language'>accept_language</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
2381
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
2382
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
2383
|
-
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier
|
2392
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_browsers'>add_default_browsers</span>
|
2393
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_platforms'>add_default_platforms</span>
|
2394
|
+
<span class='op'>::</span><span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_add_default_languages'>add_default_languages</span>
|
2384
2395
|
|
2385
2396
|
<span class='ivar'>@agent</span> <span class='op'>=</span> <span class='id identifier rubyid_agent'>agent</span>
|
2386
2397
|
<span class='ivar'>@accept_language</span> <span class='op'>=</span> <span class='id identifier rubyid_accept_language'>accept_language</span>
|
2387
2398
|
|
2388
|
-
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='
|
2389
|
-
<span class='
|
2399
|
+
<span class='ivar'>@languages</span> <span class='op'>=</span> <span class='id identifier rubyid_parse_accept_language'>parse_accept_language</span><span class='lparen'>(</span><span class='ivar'>@accept_language</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@accept_language</span>
|
2400
|
+
<span class='id identifier rubyid_parse_agent'>parse_agent</span><span class='lparen'>(</span><span class='ivar'>@agent</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='ivar'>@agent</span>
|
2390
2401
|
<span class='kw'>end</span>
|
2391
2402
|
|
2392
2403
|
<span class='comment'># This method enables the use of dynamic queries in just one method.
|
@@ -2394,7 +2405,7 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2394
2405
|
</span> <span class='comment'># For example:
|
2395
2406
|
</span> <span class='comment'>#
|
2396
2407
|
</span> <span class='comment'># ```ruby
|
2397
|
-
</span> <span class='comment'># browser.
|
2408
|
+
</span> <span class='comment'># browser.is_msie_gt_4_1_on_windows?
|
2398
2409
|
</span> <span class='comment'># #=> true
|
2399
2410
|
</span> <span class='comment'># ```
|
2400
2411
|
</span> <span class='comment'>#
|
@@ -2402,15 +2413,15 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2402
2413
|
</span> <span class='comment'>#
|
2403
2414
|
</span> <span class='comment'># If the syntax is invalid, a `NoMethodError` exception will be raised.
|
2404
2415
|
</span> <span class='comment'>#
|
2405
|
-
</span> <span class='comment'># @param query [String] The query to issue. Use `
|
2416
|
+
</span> <span class='comment'># @param query [String] The query to issue. Use `_` in place of `.` in the version.
|
2406
2417
|
</span> <span class='comment'># @param arguments [Array] The arguments to pass the method. Unused from the query.
|
2407
2418
|
</span> <span class='comment'># @param block [Proc] A block to pass to the method. Unused from the query.
|
2408
2419
|
</span> <span class='comment'># @return [Boolean|Query|nil] A query or a boolean value (if `method` ends with `?`). If the query is not valid, `NoMethodError` will be raised.
|
2409
2420
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
2410
2421
|
<span class='kw'>begin</span>
|
2411
|
-
<span class='id identifier
|
2412
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier
|
2413
|
-
<span class='id identifier
|
2422
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=</span> <span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
2423
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_execute_query'>execute_query</span><span class='lparen'>(</span><span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query_s'>query_s</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Query</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
2424
|
+
<span class='id identifier rubyid_query_s'>query_s</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span> <span class='op'>?</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_result'>result</span> <span class='op'>:</span> <span class='id identifier rubyid_rv'>rv</span>
|
2414
2425
|
<span class='kw'>rescue</span> <span class='const'>NoMethodError</span>
|
2415
2426
|
<span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_arguments'>arguments</span><span class='comma'>,</span> <span class='op'>&</span><span class='id identifier rubyid_block'>block</span><span class='rparen'>)</span>
|
2416
2427
|
<span class='kw'>end</span>
|
@@ -2427,10 +2438,11 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2427
2438
|
|
2428
2439
|
<span class='id identifier rubyid_private'>private</span>
|
2429
2440
|
<span class='comment'># Parse query, getting all arguments.
|
2441
|
+
</span> <span class='comment'>#
|
2430
2442
|
</span> <span class='comment'># @param query [String] The query to issue. Use `__` to separate query and `_` in place of `.` in the version.
|
2431
2443
|
</span> <span class='comment'># @return [Array] And array of `[method, arguments]` entries.
|
2432
2444
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_parse_query'>parse_query</span><span class='lparen'>(</span><span class='id identifier rubyid_query'>query</span><span class='rparen'>)</span>
|
2433
|
-
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>
|
2445
|
+
<span class='id identifier rubyid_query'>query</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\?$</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(_(v|on|is))</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> \\2</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_part'>part</span><span class='op'>|</span>
|
2434
2446
|
<span class='id identifier rubyid_parse_query_part'>parse_query_part</span><span class='lparen'>(</span><span class='id identifier rubyid_part'>part</span><span class='rparen'>)</span>
|
2435
2447
|
<span class='kw'>end</span>
|
2436
2448
|
<span class='kw'>end</span>
|
@@ -2540,12 +2552,12 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2540
2552
|
<pre class="lines">
|
2541
2553
|
|
2542
2554
|
|
2543
|
-
|
2544
|
-
|
2545
|
-
|
2555
|
+
721
|
2556
|
+
722
|
2557
|
+
723</pre>
|
2546
2558
|
</td>
|
2547
2559
|
<td>
|
2548
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line
|
2560
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/browser.rb', line 721</span>
|
2549
2561
|
|
2550
2562
|
<span class='kw'>def</span> <span class='id identifier rubyid_to_s'>to_s</span>
|
2551
2563
|
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_classes'>classes</span>
|
@@ -2560,7 +2572,7 @@ browser.is_msie_gt_4_1__on_windows?
|
|
2560
2572
|
</div>
|
2561
2573
|
|
2562
2574
|
<div id="footer">
|
2563
|
-
Generated on
|
2575
|
+
Generated on Sun May 19 12:02:57 2013 by
|
2564
2576
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2565
2577
|
0.8.6.1 (ruby-1.9.3).
|
2566
2578
|
</div>
|