brauser 3.3.2 → 4.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.
- checksums.yaml +4 -4
- data/.rubocop.yml +6 -0
- data/.travis-gemfile +4 -5
- data/.travis.yml +2 -2
- data/CHANGELOG.md +4 -0
- data/Gemfile +7 -8
- data/README.md +31 -95
- data/Rakefile +0 -1
- data/brauser.gemspec +4 -4
- data/default_definitions/browsers.rb +50 -0
- data/default_definitions/languages.rb +118 -0
- data/default_definitions/platforms.rb +24 -0
- data/doc/Brauser.html +6 -6
- data/doc/Brauser/Browser.html +3867 -580
- data/doc/Brauser/Definitions.html +537 -0
- data/doc/Brauser/Definitions/Base.html +342 -0
- data/doc/Brauser/Definitions/Browser.html +1047 -0
- data/doc/Brauser/Definitions/Language.html +496 -0
- data/doc/Brauser/Definitions/Platform.html +686 -0
- data/doc/Brauser/Hooks.html +2 -2
- data/doc/Brauser/Hooks/RubyOnRails.html +9 -9
- data/doc/Brauser/Parser.html +513 -0
- data/doc/Brauser/Value.html +601 -0
- data/doc/Brauser/Version.html +5 -5
- data/doc/_index.html +25 -108
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +33 -97
- data/doc/index.html +33 -97
- data/doc/method_list.html +72 -120
- data/doc/top-level-namespace.html +2 -2
- data/lib/brauser.rb +13 -15
- data/lib/brauser/browser.rb +195 -66
- data/lib/brauser/definitions/base.rb +71 -0
- data/lib/brauser/definitions/browser.rb +80 -0
- data/lib/brauser/definitions/language.rb +29 -0
- data/lib/brauser/definitions/platform.rb +42 -0
- data/lib/brauser/hooks.rb +1 -2
- data/lib/brauser/parser.rb +47 -0
- data/lib/brauser/value.rb +39 -0
- data/lib/brauser/version.rb +3 -4
- data/spec/brauser/browser_spec.rb +73 -564
- data/spec/brauser/default_definitions_spec.rb +129 -0
- data/spec/brauser/definitions/base_spec.rb +48 -0
- data/spec/brauser/definitions/browser_spec.rb +47 -0
- data/spec/brauser/definitions/language_spec.rb +18 -0
- data/spec/brauser/definitions/platform_spec.rb +36 -0
- data/spec/brauser/hooks_spec.rb +5 -6
- data/spec/brauser/parser_spec.rb +31 -0
- data/spec/brauser/value_spec.rb +34 -0
- data/spec/coverage_helper.rb +0 -1
- data/spec/spec_helper.rb +0 -1
- metadata +50 -23
- data/lib/brauser/browseable/attributes.rb +0 -95
- data/lib/brauser/browseable/general.rb +0 -104
- data/lib/brauser/browseable/parsing.rb +0 -127
- data/lib/brauser/browseable/partial_querying.rb +0 -116
- data/lib/brauser/browseable/querying.rb +0 -63
- data/lib/brauser/browseable/register.rb +0 -73
- data/lib/brauser/definition.rb +0 -80
- data/lib/brauser/definitions/browsers.rb +0 -68
- data/lib/brauser/definitions/languages.rb +0 -130
- data/lib/brauser/definitions/platforms.rb +0 -30
- data/lib/brauser/query.rb +0 -36
- data/lib/brauser/queryable/chainers.rb +0 -56
- data/lib/brauser/queryable/queries.rb +0 -60
- data/spec/brauser/definition_spec.rb +0 -39
- data/spec/brauser/query_spec.rb +0 -111
data/doc/Brauser/Hooks.html
CHANGED
@@ -116,9 +116,9 @@
|
|
116
116
|
</div>
|
117
117
|
|
118
118
|
<div id="footer">
|
119
|
-
Generated on
|
119
|
+
Generated on Mon Sep 29 16:43:31 2014 by
|
120
120
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
121
|
-
0.8.7.4 (ruby-2.1.
|
121
|
+
0.8.7.4 (ruby-2.1.3).
|
122
122
|
</div>
|
123
123
|
|
124
124
|
</body>
|
@@ -217,12 +217,12 @@
|
|
217
217
|
<pre class="lines">
|
218
218
|
|
219
219
|
|
220
|
+
14
|
220
221
|
15
|
221
|
-
16
|
222
|
-
17</pre>
|
222
|
+
16</pre>
|
223
223
|
</td>
|
224
224
|
<td>
|
225
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/hooks.rb', line
|
225
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/hooks.rb', line 14</span>
|
226
226
|
|
227
227
|
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_included'>included</span><span class='lparen'>(</span><span class='id identifier rubyid_base'>base</span><span class='rparen'>)</span>
|
228
228
|
<span class='id identifier rubyid_base'>base</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:helper_method</span><span class='comma'>,</span> <span class='symbol'>:browser</span><span class='rparen'>)</span>
|
@@ -301,17 +301,17 @@
|
|
301
301
|
<pre class="lines">
|
302
302
|
|
303
303
|
|
304
|
+
22
|
304
305
|
23
|
305
306
|
24
|
306
|
-
25
|
307
|
-
26</pre>
|
307
|
+
25</pre>
|
308
308
|
</td>
|
309
309
|
<td>
|
310
|
-
<pre class="code"><span class="info file"># File 'lib/brauser/hooks.rb', line
|
310
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/hooks.rb', line 22</span>
|
311
311
|
|
312
312
|
<span class='kw'>def</span> <span class='id identifier rubyid_browser'>browser</span><span class='lparen'>(</span><span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
313
313
|
<span class='ivar'>@browser</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
|
314
|
-
<span class='ivar'>@browser</span> <span class='op'>||=</span> <span class='const'>Browser</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>User-Agent</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Accept-Language</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
314
|
+
<span class='ivar'>@browser</span> <span class='op'>||=</span> <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_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>User-Agent</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Accept-Language</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
315
315
|
<span class='kw'>end</span></pre>
|
316
316
|
</td>
|
317
317
|
</tr>
|
@@ -323,9 +323,9 @@
|
|
323
323
|
</div>
|
324
324
|
|
325
325
|
<div id="footer">
|
326
|
-
Generated on
|
326
|
+
Generated on Mon Sep 29 16:43:31 2014 by
|
327
327
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
328
|
-
0.8.7.4 (ruby-2.1.
|
328
|
+
0.8.7.4 (ruby-2.1.3).
|
329
329
|
</div>
|
330
330
|
|
331
331
|
</body>
|
@@ -0,0 +1,513 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Class: Brauser::Parser
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.7.4
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '../';
|
20
|
+
framesUrl = "../frames.html#!Brauser/Parser.html";
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="../_index.html">Index (P)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../Brauser.html" title="Brauser (module)">Brauser</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">Parser</span>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="search">
|
44
|
+
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
46
|
+
href="../class_list.html">
|
47
|
+
Class List
|
48
|
+
</a>
|
49
|
+
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
51
|
+
href="../method_list.html">
|
52
|
+
Method List
|
53
|
+
</a>
|
54
|
+
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
56
|
+
href="../file_list.html">
|
57
|
+
File List
|
58
|
+
</a>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
<div class="clear"></div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<iframe id="search_frame"></iframe>
|
65
|
+
|
66
|
+
<div id="content"><h1>Class: Brauser::Parser
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
<dt class="r1">Inherits:</dt>
|
75
|
+
<dd class="r1">
|
76
|
+
<span class="inheritName">Object</span>
|
77
|
+
|
78
|
+
<ul class="fullTree">
|
79
|
+
<li>Object</li>
|
80
|
+
|
81
|
+
<li class="next">Brauser::Parser</li>
|
82
|
+
|
83
|
+
</ul>
|
84
|
+
<a href="#" class="inheritanceTree">show all</a>
|
85
|
+
|
86
|
+
</dd>
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
<dt class="r2 last">Defined in:</dt>
|
97
|
+
<dd class="r2 last">lib/brauser/parser.rb</dd>
|
98
|
+
|
99
|
+
</dl>
|
100
|
+
<div class="clear"></div>
|
101
|
+
|
102
|
+
<h2>Overview</h2><div class="docstring">
|
103
|
+
<div class="discussion">
|
104
|
+
<p>A parser for the HTTP headers.</p>
|
105
|
+
|
106
|
+
|
107
|
+
</div>
|
108
|
+
</div>
|
109
|
+
<div class="tags">
|
110
|
+
|
111
|
+
|
112
|
+
</div>
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
<h2>
|
121
|
+
Class Method Summary
|
122
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
123
|
+
</h2>
|
124
|
+
|
125
|
+
<ul class="summary">
|
126
|
+
|
127
|
+
<li class="public ">
|
128
|
+
<span class="summary_signature">
|
129
|
+
|
130
|
+
<a href="#disambiguate-class_method" title="disambiguate (class method)">+ (Boolean) <strong>disambiguate</strong>(subject, positive_matcher, negative_matcher) </a>
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
</span>
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
<span class="summary_desc"><div class='inline'><p>Makes sure a subject matches a pattern AND NOT another pattern.</p>
|
145
|
+
</div></span>
|
146
|
+
|
147
|
+
</li>
|
148
|
+
|
149
|
+
|
150
|
+
</ul>
|
151
|
+
|
152
|
+
<h2>
|
153
|
+
Instance Method Summary
|
154
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
155
|
+
</h2>
|
156
|
+
|
157
|
+
<ul class="summary">
|
158
|
+
|
159
|
+
<li class="public ">
|
160
|
+
<span class="summary_signature">
|
161
|
+
|
162
|
+
<a href="#parse_accept_language-instance_method" title="#parse_accept_language (instance method)">- (Hash) <strong>parse_accept_language</strong>(header) </a>
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
</span>
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
<span class="summary_desc"><div class='inline'><p>Parses a Accept-Language header.</p>
|
177
|
+
</div></span>
|
178
|
+
|
179
|
+
</li>
|
180
|
+
|
181
|
+
|
182
|
+
<li class="public ">
|
183
|
+
<span class="summary_signature">
|
184
|
+
|
185
|
+
<a href="#parse_agent-instance_method" title="#parse_agent (instance method)">- (Array|NilClass) <strong>parse_agent</strong>(header) </a>
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
</span>
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
<span class="summary_desc"><div class='inline'><p>Parses the User-Agent header.</p>
|
200
|
+
</div></span>
|
201
|
+
|
202
|
+
</li>
|
203
|
+
|
204
|
+
|
205
|
+
</ul>
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
<div id="class_method_details" class="method_details_list">
|
211
|
+
<h2>Class Method Details</h2>
|
212
|
+
|
213
|
+
|
214
|
+
<div class="method_details first">
|
215
|
+
<h3 class="signature first" id="disambiguate-class_method">
|
216
|
+
|
217
|
+
+ (<tt>Boolean</tt>) <strong>disambiguate</strong>(subject, positive_matcher, negative_matcher)
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
</h3><div class="docstring">
|
224
|
+
<div class="discussion">
|
225
|
+
<p>Makes sure a subject matches a pattern AND NOT another pattern.</p>
|
226
|
+
|
227
|
+
|
228
|
+
</div>
|
229
|
+
</div>
|
230
|
+
<div class="tags">
|
231
|
+
<p class="tag_title">Parameters:</p>
|
232
|
+
<ul class="param">
|
233
|
+
|
234
|
+
<li>
|
235
|
+
|
236
|
+
<span class='name'>subject</span>
|
237
|
+
|
238
|
+
|
239
|
+
<span class='type'>(<tt>String</tt>)</span>
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
—
|
244
|
+
<div class='inline'><p>The subject to match.</p>
|
245
|
+
</div>
|
246
|
+
|
247
|
+
</li>
|
248
|
+
|
249
|
+
<li>
|
250
|
+
|
251
|
+
<span class='name'>positive_matcher</span>
|
252
|
+
|
253
|
+
|
254
|
+
<span class='type'>(<tt>Regexp</tt>)</span>
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
—
|
259
|
+
<div class='inline'><p>The expression to match.</p>
|
260
|
+
</div>
|
261
|
+
|
262
|
+
</li>
|
263
|
+
|
264
|
+
<li>
|
265
|
+
|
266
|
+
<span class='name'>negative_matcher</span>
|
267
|
+
|
268
|
+
|
269
|
+
<span class='type'>(<tt>Regexp</tt>)</span>
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
—
|
274
|
+
<div class='inline'><p>The expression NOT to match.</p>
|
275
|
+
</div>
|
276
|
+
|
277
|
+
</li>
|
278
|
+
|
279
|
+
</ul>
|
280
|
+
|
281
|
+
<p class="tag_title">Returns:</p>
|
282
|
+
<ul class="return">
|
283
|
+
|
284
|
+
<li>
|
285
|
+
|
286
|
+
|
287
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
—
|
292
|
+
<div class='inline'><p><code>true</code> if matching succeeded, <code>false otherwise</code>.</p>
|
293
|
+
</div>
|
294
|
+
|
295
|
+
</li>
|
296
|
+
|
297
|
+
</ul>
|
298
|
+
|
299
|
+
</div><table class="source_code">
|
300
|
+
<tr>
|
301
|
+
<td>
|
302
|
+
<pre class="lines">
|
303
|
+
|
304
|
+
|
305
|
+
15
|
306
|
+
16
|
307
|
+
17</pre>
|
308
|
+
</td>
|
309
|
+
<td>
|
310
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/parser.rb', line 15</span>
|
311
|
+
|
312
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_disambiguate'>disambiguate</span><span class='lparen'>(</span><span class='id identifier rubyid_subject'>subject</span><span class='comma'>,</span> <span class='id identifier rubyid_positive_matcher'>positive_matcher</span><span class='comma'>,</span> <span class='id identifier rubyid_negative_matcher'>negative_matcher</span><span class='rparen'>)</span>
|
313
|
+
<span class='id identifier rubyid_subject'>subject</span> <span class='op'>=~</span> <span class='id identifier rubyid_positive_matcher'>positive_matcher</span> <span class='op'>&&</span> <span class='id identifier rubyid_subject'>subject</span> <span class='op'>!~</span> <span class='id identifier rubyid_negative_matcher'>negative_matcher</span>
|
314
|
+
<span class='kw'>end</span></pre>
|
315
|
+
</td>
|
316
|
+
</tr>
|
317
|
+
</table>
|
318
|
+
</div>
|
319
|
+
|
320
|
+
</div>
|
321
|
+
|
322
|
+
<div id="instance_method_details" class="method_details_list">
|
323
|
+
<h2>Instance Method Details</h2>
|
324
|
+
|
325
|
+
|
326
|
+
<div class="method_details first">
|
327
|
+
<h3 class="signature first" id="parse_accept_language-instance_method">
|
328
|
+
|
329
|
+
- (<tt>Hash</tt>) <strong>parse_accept_language</strong>(header)
|
330
|
+
|
331
|
+
|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
</h3><div class="docstring">
|
336
|
+
<div class="discussion">
|
337
|
+
<p>Parses a Accept-Language header.</p>
|
338
|
+
|
339
|
+
|
340
|
+
</div>
|
341
|
+
</div>
|
342
|
+
<div class="tags">
|
343
|
+
<p class="tag_title">Parameters:</p>
|
344
|
+
<ul class="param">
|
345
|
+
|
346
|
+
<li>
|
347
|
+
|
348
|
+
<span class='name'>header</span>
|
349
|
+
|
350
|
+
|
351
|
+
<span class='type'>(<tt>String</tt>)</span>
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
—
|
356
|
+
<div class='inline'><p>The Accept-Language header.</p>
|
357
|
+
</div>
|
358
|
+
|
359
|
+
</li>
|
360
|
+
|
361
|
+
</ul>
|
362
|
+
|
363
|
+
<p class="tag_title">Returns:</p>
|
364
|
+
<ul class="return">
|
365
|
+
|
366
|
+
<li>
|
367
|
+
|
368
|
+
|
369
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
370
|
+
|
371
|
+
|
372
|
+
|
373
|
+
—
|
374
|
+
<div class='inline'><p>The list of accepted languages with their priorities.</p>
|
375
|
+
</div>
|
376
|
+
|
377
|
+
</li>
|
378
|
+
|
379
|
+
</ul>
|
380
|
+
|
381
|
+
</div><table class="source_code">
|
382
|
+
<tr>
|
383
|
+
<td>
|
384
|
+
<pre class="lines">
|
385
|
+
|
386
|
+
|
387
|
+
39
|
388
|
+
40
|
389
|
+
41
|
390
|
+
42
|
391
|
+
43
|
392
|
+
44
|
393
|
+
45</pre>
|
394
|
+
</td>
|
395
|
+
<td>
|
396
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/parser.rb', line 39</span>
|
397
|
+
|
398
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_parse_accept_language'>parse_accept_language</span><span class='lparen'>(</span><span class='id identifier rubyid_header'>header</span><span class='rparen'>)</span>
|
399
|
+
<span class='id identifier rubyid_header'>header</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_tokenize'>tokenize</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='id identifier rubyid_token'>token</span><span class='op'>|</span>
|
400
|
+
<span class='id identifier rubyid_code'>code</span><span class='comma'>,</span> <span class='id identifier rubyid_priority'>priority</span> <span class='op'>=</span> <span class='id identifier rubyid_token'>token</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'>;q=</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
401
|
+
<span class='id identifier rubyid_rv'>rv</span><span class='lbracket'>[</span><span class='id identifier rubyid_code'>code</span><span class='period'>.</span><span class='id identifier rubyid_downcase'>downcase</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</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='comma'>,</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_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_priority'>priority</span><span class='period'>.</span><span class='id identifier rubyid_to_float'>to_float</span> <span class='kw'>if</span> <span class='id identifier rubyid_code'>code</span> <span class='op'>&&</span> <span class='id identifier rubyid_priority'>priority</span>
|
402
|
+
<span class='id identifier rubyid_rv'>rv</span>
|
403
|
+
<span class='rbrace'>}</span>
|
404
|
+
<span class='kw'>end</span></pre>
|
405
|
+
</td>
|
406
|
+
</tr>
|
407
|
+
</table>
|
408
|
+
</div>
|
409
|
+
|
410
|
+
<div class="method_details ">
|
411
|
+
<h3 class="signature " id="parse_agent-instance_method">
|
412
|
+
|
413
|
+
- (<tt>Array|NilClass</tt>) <strong>parse_agent</strong>(header)
|
414
|
+
|
415
|
+
|
416
|
+
|
417
|
+
|
418
|
+
|
419
|
+
</h3><div class="docstring">
|
420
|
+
<div class="discussion">
|
421
|
+
<p>Parses the User-Agent header.</p>
|
422
|
+
|
423
|
+
|
424
|
+
</div>
|
425
|
+
</div>
|
426
|
+
<div class="tags">
|
427
|
+
<p class="tag_title">Parameters:</p>
|
428
|
+
<ul class="param">
|
429
|
+
|
430
|
+
<li>
|
431
|
+
|
432
|
+
<span class='name'>header</span>
|
433
|
+
|
434
|
+
|
435
|
+
<span class='type'>(<tt>String</tt>)</span>
|
436
|
+
|
437
|
+
|
438
|
+
|
439
|
+
—
|
440
|
+
<div class='inline'><p>The User-Agent header.</p>
|
441
|
+
</div>
|
442
|
+
|
443
|
+
</li>
|
444
|
+
|
445
|
+
</ul>
|
446
|
+
|
447
|
+
<p class="tag_title">Returns:</p>
|
448
|
+
<ul class="return">
|
449
|
+
|
450
|
+
<li>
|
451
|
+
|
452
|
+
|
453
|
+
<span class='type'>(<tt>Array|NilClass</tt>)</span>
|
454
|
+
|
455
|
+
|
456
|
+
|
457
|
+
—
|
458
|
+
<div class='inline'><p>An array of engine, version and platform if the match succeeded, <code>nil</code> otherwise.</p>
|
459
|
+
</div>
|
460
|
+
|
461
|
+
</li>
|
462
|
+
|
463
|
+
</ul>
|
464
|
+
|
465
|
+
</div><table class="source_code">
|
466
|
+
<tr>
|
467
|
+
<td>
|
468
|
+
<pre class="lines">
|
469
|
+
|
470
|
+
|
471
|
+
23
|
472
|
+
24
|
473
|
+
25
|
474
|
+
26
|
475
|
+
27
|
476
|
+
28
|
477
|
+
29
|
478
|
+
30
|
479
|
+
31
|
480
|
+
32
|
481
|
+
33</pre>
|
482
|
+
</td>
|
483
|
+
<td>
|
484
|
+
<pre class="code"><span class="info file"># File 'lib/brauser/parser.rb', line 23</span>
|
485
|
+
|
486
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_parse_agent'>parse_agent</span><span class='lparen'>(</span><span class='id identifier rubyid_header'>header</span><span class='rparen'>)</span>
|
487
|
+
<span class='comment'># First of all match the agent and the version
|
488
|
+
</span> <span class='id identifier rubyid_catch'>catch</span><span class='lparen'>(</span><span class='symbol'>:result</span><span class='rparen'>)</span> <span class='lbrace'>{</span>
|
489
|
+
<span class='const'>Brauser</span><span class='op'>::</span><span class='const'>Definitions</span><span class='period'>.</span><span class='id identifier rubyid_browsers'>browsers</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid__'>_</span><span class='comma'>,</span> <span class='id identifier rubyid_definition'>definition</span><span class='op'>|</span>
|
490
|
+
<span class='id identifier rubyid_result'>result</span> <span class='op'>=</span> <span class='id identifier rubyid_definition'>definition</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_header'>header</span><span class='rparen'>)</span>
|
491
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:result</span><span class='comma'>,</span> <span class='id identifier rubyid_result'>result</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_result'>result</span>
|
492
|
+
<span class='kw'>end</span>
|
493
|
+
|
494
|
+
<span class='kw'>nil</span>
|
495
|
+
<span class='rbrace'>}</span>
|
496
|
+
<span class='kw'>end</span></pre>
|
497
|
+
</td>
|
498
|
+
</tr>
|
499
|
+
</table>
|
500
|
+
</div>
|
501
|
+
|
502
|
+
</div>
|
503
|
+
|
504
|
+
</div>
|
505
|
+
|
506
|
+
<div id="footer">
|
507
|
+
Generated on Mon Sep 29 16:43:31 2014 by
|
508
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
509
|
+
0.8.7.4 (ruby-2.1.3).
|
510
|
+
</div>
|
511
|
+
|
512
|
+
</body>
|
513
|
+
</html>
|