brauser 3.3.2 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
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>