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.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -0
  3. data/.travis-gemfile +4 -5
  4. data/.travis.yml +2 -2
  5. data/CHANGELOG.md +4 -0
  6. data/Gemfile +7 -8
  7. data/README.md +31 -95
  8. data/Rakefile +0 -1
  9. data/brauser.gemspec +4 -4
  10. data/default_definitions/browsers.rb +50 -0
  11. data/default_definitions/languages.rb +118 -0
  12. data/default_definitions/platforms.rb +24 -0
  13. data/doc/Brauser.html +6 -6
  14. data/doc/Brauser/Browser.html +3867 -580
  15. data/doc/Brauser/Definitions.html +537 -0
  16. data/doc/Brauser/Definitions/Base.html +342 -0
  17. data/doc/Brauser/Definitions/Browser.html +1047 -0
  18. data/doc/Brauser/Definitions/Language.html +496 -0
  19. data/doc/Brauser/Definitions/Platform.html +686 -0
  20. data/doc/Brauser/Hooks.html +2 -2
  21. data/doc/Brauser/Hooks/RubyOnRails.html +9 -9
  22. data/doc/Brauser/Parser.html +513 -0
  23. data/doc/Brauser/Value.html +601 -0
  24. data/doc/Brauser/Version.html +5 -5
  25. data/doc/_index.html +25 -108
  26. data/doc/class_list.html +1 -1
  27. data/doc/file.README.html +33 -97
  28. data/doc/index.html +33 -97
  29. data/doc/method_list.html +72 -120
  30. data/doc/top-level-namespace.html +2 -2
  31. data/lib/brauser.rb +13 -15
  32. data/lib/brauser/browser.rb +195 -66
  33. data/lib/brauser/definitions/base.rb +71 -0
  34. data/lib/brauser/definitions/browser.rb +80 -0
  35. data/lib/brauser/definitions/language.rb +29 -0
  36. data/lib/brauser/definitions/platform.rb +42 -0
  37. data/lib/brauser/hooks.rb +1 -2
  38. data/lib/brauser/parser.rb +47 -0
  39. data/lib/brauser/value.rb +39 -0
  40. data/lib/brauser/version.rb +3 -4
  41. data/spec/brauser/browser_spec.rb +73 -564
  42. data/spec/brauser/default_definitions_spec.rb +129 -0
  43. data/spec/brauser/definitions/base_spec.rb +48 -0
  44. data/spec/brauser/definitions/browser_spec.rb +47 -0
  45. data/spec/brauser/definitions/language_spec.rb +18 -0
  46. data/spec/brauser/definitions/platform_spec.rb +36 -0
  47. data/spec/brauser/hooks_spec.rb +5 -6
  48. data/spec/brauser/parser_spec.rb +31 -0
  49. data/spec/brauser/value_spec.rb +34 -0
  50. data/spec/coverage_helper.rb +0 -1
  51. data/spec/spec_helper.rb +0 -1
  52. metadata +50 -23
  53. data/lib/brauser/browseable/attributes.rb +0 -95
  54. data/lib/brauser/browseable/general.rb +0 -104
  55. data/lib/brauser/browseable/parsing.rb +0 -127
  56. data/lib/brauser/browseable/partial_querying.rb +0 -116
  57. data/lib/brauser/browseable/querying.rb +0 -63
  58. data/lib/brauser/browseable/register.rb +0 -73
  59. data/lib/brauser/definition.rb +0 -80
  60. data/lib/brauser/definitions/browsers.rb +0 -68
  61. data/lib/brauser/definitions/languages.rb +0 -130
  62. data/lib/brauser/definitions/platforms.rb +0 -30
  63. data/lib/brauser/query.rb +0 -36
  64. data/lib/brauser/queryable/chainers.rb +0 -56
  65. data/lib/brauser/queryable/queries.rb +0 -60
  66. data/spec/brauser/definition_spec.rb +0 -39
  67. data/spec/brauser/query_spec.rb +0 -111
@@ -116,9 +116,9 @@
116
116
  </div>
117
117
 
118
118
  <div id="footer">
119
- Generated on Thu May 22 12:11:27 2014 by
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.2).
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 15</span>
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 23</span>
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'>&quot;</span><span class='tstring_content'>User-Agent</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>Accept-Language</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>User-Agent</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>Accept-Language</span><span class='tstring_end'>&quot;</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 Thu May 22 12:11:27 2014 by
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.2).
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
+ &mdash; 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> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../Brauser.html" title="Brauser (module)">Brauser</a></span></span>
36
+ &raquo;
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
+ &mdash;
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
+ &mdash;
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
+ &mdash;
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
+ &mdash;
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'>&amp;&amp;</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
+ &mdash;
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
+ &mdash;
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'>&quot;</span><span class='tstring_content'>;q=</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>_</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-</span><span class='tstring_end'>&quot;</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'>&amp;&amp;</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
+ &mdash;
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
+ &mdash;
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>