csv_decision 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +26 -2
  4. data/csv_decision.gemspec +1 -1
  5. data/doc/CSVDecision/CellValidationError.html +2 -2
  6. data/doc/CSVDecision/Columns/Default.html +203 -23
  7. data/doc/CSVDecision/Columns/Dictionary.html +118 -25
  8. data/doc/CSVDecision/Columns.html +213 -31
  9. data/doc/CSVDecision/Data.html +1 -1
  10. data/doc/CSVDecision/Decide.html +1 -1
  11. data/doc/CSVDecision/Decision.html +1 -1
  12. data/doc/CSVDecision/Defaults.html +291 -0
  13. data/doc/CSVDecision/Dictionary/Entry.html +584 -47
  14. data/doc/CSVDecision/Dictionary.html +20 -20
  15. data/doc/CSVDecision/Error.html +2 -2
  16. data/doc/CSVDecision/FileError.html +1 -1
  17. data/doc/CSVDecision/Header.html +110 -33
  18. data/doc/CSVDecision/Input.html +1 -1
  19. data/doc/CSVDecision/Load.html +1 -1
  20. data/doc/CSVDecision/Matchers/Constant.html +12 -37
  21. data/doc/CSVDecision/Matchers/Function.html +1 -1
  22. data/doc/CSVDecision/Matchers/Guard.html +15 -13
  23. data/doc/CSVDecision/Matchers/Matcher.html +1 -1
  24. data/doc/CSVDecision/Matchers/Numeric.html +13 -21
  25. data/doc/CSVDecision/Matchers/Pattern.html +14 -14
  26. data/doc/CSVDecision/Matchers/Proc.html +1 -1
  27. data/doc/CSVDecision/Matchers/Range.html +13 -58
  28. data/doc/CSVDecision/Matchers/Symbol.html +1 -1
  29. data/doc/CSVDecision/Matchers.html +9 -9
  30. data/doc/CSVDecision/Options.html +1 -1
  31. data/doc/CSVDecision/Parse.html +90 -19
  32. data/doc/CSVDecision/Result.html +1 -1
  33. data/doc/CSVDecision/ScanRow.html +17 -17
  34. data/doc/CSVDecision/Table.html +50 -48
  35. data/doc/CSVDecision/TableValidationError.html +143 -0
  36. data/doc/CSVDecision/Validate.html +422 -0
  37. data/doc/CSVDecision.html +8 -8
  38. data/doc/_index.html +33 -1
  39. data/doc/class_list.html +1 -1
  40. data/doc/file.README.html +27 -3
  41. data/doc/index.html +27 -3
  42. data/doc/method_list.html +193 -89
  43. data/doc/top-level-namespace.html +1 -1
  44. data/lib/csv_decision/columns.rb +28 -27
  45. data/lib/csv_decision/defaults.rb +47 -0
  46. data/lib/csv_decision/dictionary.rb +104 -112
  47. data/lib/csv_decision/header.rb +13 -10
  48. data/lib/csv_decision/input.rb +53 -5
  49. data/lib/csv_decision/matchers/constant.rb +1 -2
  50. data/lib/csv_decision/matchers/guard.rb +3 -2
  51. data/lib/csv_decision/matchers/numeric.rb +4 -6
  52. data/lib/csv_decision/matchers/pattern.rb +6 -8
  53. data/lib/csv_decision/matchers/range.rb +1 -3
  54. data/lib/csv_decision/matchers.rb +7 -7
  55. data/lib/csv_decision/parse.rb +24 -3
  56. data/lib/csv_decision/scan_row.rb +16 -16
  57. data/lib/csv_decision/table.rb +3 -7
  58. data/lib/csv_decision/validate.rb +85 -0
  59. data/lib/csv_decision.rb +3 -1
  60. data/spec/csv_decision/columns_spec.rb +38 -22
  61. data/spec/csv_decision/examples_spec.rb +17 -0
  62. data/spec/csv_decision/matchers/range_spec.rb +0 -32
  63. data/spec/csv_decision/table_spec.rb +39 -0
  64. metadata +7 -2
@@ -108,7 +108,7 @@
108
108
  You should avoid using this class if possible, as it may be removed or be changed in the future.
109
109
  </p>
110
110
 
111
- <p>Recognise numeric comparison expressions - e.g., <tt>&gt; 100</tt> or <tt>!= 0</tt></p>
111
+ <p>Recognise numeric comparison expressions - e.g., <tt>&gt; 100</tt> or <tt>!= 0</tt>.</p>
112
112
 
113
113
 
114
114
  </div>
@@ -149,9 +149,7 @@
149
149
 
150
150
 
151
151
  <span class="summary_desc"><div class='inline'>
152
- <p>Returns false if this cell is not a match; otherwise returns the
153
- <code>CSVDecision::Proc</code> object indicating if this is a constant or
154
- some type of function.</p>
152
+ <p>Determine if the input cell string is recognised by this Matcher.</p>
155
153
  </div></span>
156
154
 
157
155
  </li>
@@ -184,9 +182,7 @@ some type of function.</p>
184
182
 
185
183
 
186
184
  <span class="summary_desc"><div class='inline'>
187
- <p>Returns false if this cell is not a match; otherwise returns the
188
- <code>CSVDecision::Proc</code> object indicating if this is a constant or
189
- some type of function.</p>
185
+ <p>Determine if the input cell string is recognised by this Matcher.</p>
190
186
  </div></span>
191
187
 
192
188
  </li>
@@ -234,9 +230,7 @@ some type of function.</p>
234
230
  You should avoid using this method if possible, as it may be removed or be changed in the future.
235
231
  </p>
236
232
 
237
- <p>Returns false if this cell is not a match; otherwise returns the
238
- <code>CSVDecision::Proc</code> object indicating if this is a constant or
239
- some type of function.</p>
233
+ <p>Determine if the input cell string is recognised by this Matcher.</p>
240
234
 
241
235
 
242
236
  </div>
@@ -290,6 +284,7 @@ some type of function.</p>
290
284
  <pre class="lines">
291
285
 
292
286
 
287
+ 29
293
288
  30
294
289
  31
295
290
  32
@@ -299,11 +294,10 @@ some type of function.</p>
299
294
  36
300
295
  37
301
296
  38
302
- 39
303
- 40</pre>
297
+ 39</pre>
304
298
  </td>
305
299
  <td>
306
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/numeric.rb', line 30</span>
300
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/numeric.rb', line 29</span>
307
301
 
308
302
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_matches?'>matches?</span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='rparen'>)</span>
309
303
  <span class='id identifier rubyid_match'>match</span> <span class='op'>=</span> <span class='const'>COMPARISON</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='rparen'>)</span>
@@ -343,9 +337,7 @@ some type of function.</p>
343
337
  You should avoid using this method if possible, as it may be removed or be changed in the future.
344
338
  </p>
345
339
 
346
- <p>Returns false if this cell is not a match; otherwise returns the
347
- <code>CSVDecision::Proc</code> object indicating if this is a constant or
348
- some type of function.</p>
340
+ <p>Determine if the input cell string is recognised by this Matcher.</p>
349
341
 
350
342
 
351
343
  </div>
@@ -399,12 +391,12 @@ some type of function.</p>
399
391
  <pre class="lines">
400
392
 
401
393
 
402
- 44
403
- 45
404
- 46</pre>
394
+ 42
395
+ 43
396
+ 44</pre>
405
397
  </td>
406
398
  <td>
407
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/numeric.rb', line 44</span>
399
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/numeric.rb', line 42</span>
408
400
 
409
401
  <span class='kw'>def</span> <span class='id identifier rubyid_matches?'>matches?</span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='rparen'>)</span>
410
402
  <span class='const'><span class='object_link'><a href="" title="CSVDecision::Matchers::Numeric (class)">Numeric</a></span></span><span class='period'>.</span><span class='id identifier rubyid_matches?'><span class='object_link'><a href="#matches%3F-class_method" title="CSVDecision::Matchers::Numeric.matches? (method)">matches?</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='rparen'>)</span>
@@ -419,7 +411,7 @@ some type of function.</p>
419
411
  </div>
420
412
 
421
413
  <div id="footer">
422
- Generated on Sat Jan 6 20:03:02 2018 by
414
+ Generated on Sat Jan 13 10:02:47 2018 by
423
415
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
424
416
  0.9.12 (ruby-2.4.0).
425
417
  </div>
@@ -284,16 +284,16 @@
284
284
  <pre class="lines">
285
285
 
286
286
 
287
+ 79
288
+ 80
287
289
  81
288
- 82
289
- 83
290
- 84</pre>
290
+ 82</pre>
291
291
  </td>
292
292
  <td>
293
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/pattern.rb', line 81</span>
293
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/pattern.rb', line 79</span>
294
294
 
295
295
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
296
- <span class='comment'># By default regexp&#39;s must have an explicit comparator
296
+ <span class='comment'># By default regexp&#39;s must have an explicit comparator.
297
297
  </span> <span class='ivar'>@regexp_explicit</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:regexp_implicit</span><span class='rbracket'>]</span>
298
298
  <span class='kw'>end</span></pre>
299
299
  </td>
@@ -351,6 +351,8 @@
351
351
  <pre class="lines">
352
352
 
353
353
 
354
+ 66
355
+ 67
354
356
  68
355
357
  69
356
358
  70
@@ -359,12 +361,10 @@
359
361
  73
360
362
  74
361
363
  75
362
- 76
363
- 77
364
- 78</pre>
364
+ 76</pre>
365
365
  </td>
366
366
  <td>
367
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/pattern.rb', line 68</span>
367
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/pattern.rb', line 66</span>
368
368
 
369
369
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_matches?'>matches?</span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='comma'>,</span> <span class='label'>regexp_explicit:</span><span class='rparen'>)</span>
370
370
  <span class='id identifier rubyid_comparator'>comparator</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_regexp?'>regexp?</span><span class='lparen'>(</span><span class='label'>cell:</span> <span class='id identifier rubyid_cell'>cell</span><span class='comma'>,</span> <span class='label'>explicit:</span> <span class='id identifier rubyid_regexp_explicit'>regexp_explicit</span><span class='rparen'>)</span>
@@ -461,12 +461,12 @@ some type of function.</p>
461
461
  <pre class="lines">
462
462
 
463
463
 
464
- 92
465
- 93
466
- 94</pre>
464
+ 90
465
+ 91
466
+ 92</pre>
467
467
  </td>
468
468
  <td>
469
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/pattern.rb', line 92</span>
469
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/pattern.rb', line 90</span>
470
470
 
471
471
  <span class='kw'>def</span> <span class='id identifier rubyid_matches?'>matches?</span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='rparen'>)</span>
472
472
  <span class='const'><span class='object_link'><a href="" title="CSVDecision::Matchers::Pattern (class)">Pattern</a></span></span><span class='period'>.</span><span class='id identifier rubyid_matches?'><span class='object_link'><a href="#matches%3F-class_method" title="CSVDecision::Matchers::Pattern.matches? (method)">matches?</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='comma'>,</span> <span class='label'>regexp_explicit:</span> <span class='ivar'>@regexp_explicit</span><span class='rparen'>)</span>
@@ -481,7 +481,7 @@ some type of function.</p>
481
481
  </div>
482
482
 
483
483
  <div id="footer">
484
- Generated on Sat Jan 6 20:03:02 2018 by
484
+ Generated on Sat Jan 13 10:02:47 2018 by
485
485
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
486
486
  0.9.12 (ruby-2.4.0).
487
487
  </div>
@@ -561,7 +561,7 @@ hash keys (which are always symbolized).</p>
561
561
  </div>
562
562
 
563
563
  <div id="footer">
564
- Generated on Sat Jan 6 20:03:02 2018 by
564
+ Generated on Sat Jan 13 10:02:47 2018 by
565
565
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
566
566
  0.9.12 (ruby-2.4.0).
567
567
  </div>
@@ -135,7 +135,7 @@
135
135
  <li class="public ">
136
136
  <span class="summary_signature">
137
137
 
138
- <a href="#matches%3F-class_method" title="matches? (class method)">.<strong>matches?</strong>(cell) &#x21d2; false, CSVDecision::Proc </a>
138
+ <a href="#matches%3F-class_method" title="matches? (class method)">.<strong>matches?</strong>(cell) &#x21d2; Boolean </a>
139
139
 
140
140
 
141
141
 
@@ -219,7 +219,7 @@ or <tt>!a..z</tt>.</p>
219
219
  <div class="method_details first">
220
220
  <h3 class="signature first" id="matches?-class_method">
221
221
 
222
- .<strong>matches?</strong>(cell) &#x21d2; <tt>false</tt>, <tt>CSVDecision::Proc</tt>
222
+ .<strong>matches?</strong>(cell) &#x21d2; <tt>Boolean</tt>
223
223
 
224
224
 
225
225
 
@@ -234,48 +234,23 @@ or <tt>!a..z</tt>.</p>
234
234
 
235
235
  <p>Match a table data cell string against a Ruby-like range expression.</p>
236
236
 
237
+ <p>(see Matcher#matches?)</p>
238
+
237
239
 
238
240
  </div>
239
241
  </div>
240
242
  <div class="tags">
241
- <p class="tag_title">Parameters:</p>
242
- <ul class="param">
243
-
244
- <li>
245
-
246
- <span class='name'>cell</span>
247
-
248
-
249
- <span class='type'>(<tt>String</tt>)</span>
250
-
251
-
252
-
253
- &mdash;
254
- <div class='inline'>
255
- <p>Data row cell.</p>
256
- </div>
257
-
258
- </li>
259
243
 
260
- </ul>
261
-
262
244
  <p class="tag_title">Returns:</p>
263
245
  <ul class="return">
264
246
 
265
247
  <li>
266
248
 
267
249
 
268
- <span class='type'>(<tt>false</tt>, <tt>CSVDecision::Proc</tt>)</span>
250
+ <span class='type'>(<tt>Boolean</tt>)</span>
269
251
 
270
252
 
271
253
 
272
- &mdash;
273
- <div class='inline'>
274
- <p>Returns false if this cell is not a match; otherwise returns the
275
- <code>CSVDecision::Proc</code> object indicating if this is a constant or
276
- some type of function.</p>
277
- </div>
278
-
279
254
  </li>
280
255
 
281
256
  </ul>
@@ -286,6 +261,7 @@ some type of function.</p>
286
261
  <pre class="lines">
287
262
 
288
263
 
264
+ 17
289
265
  18
290
266
  19
291
267
  20
@@ -295,11 +271,10 @@ some type of function.</p>
295
271
  24
296
272
  25
297
273
  26
298
- 27
299
- 28</pre>
274
+ 27</pre>
300
275
  </td>
301
276
  <td>
302
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/range.rb', line 18</span>
277
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/range.rb', line 17</span>
303
278
 
304
279
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_matches?'>matches?</span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='rparen'>)</span>
305
280
  <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_match'>match</span> <span class='op'>=</span> <span class='const'>NUMERIC_RANGE</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='rparen'>)</span><span class='rparen'>)</span>
@@ -346,27 +321,7 @@ or <tt>!a..z</tt>.</p>
346
321
  </div>
347
322
  </div>
348
323
  <div class="tags">
349
- <p class="tag_title">Parameters:</p>
350
- <ul class="param">
351
324
 
352
- <li>
353
-
354
- <span class='name'>cell</span>
355
-
356
-
357
- <span class='type'>(<tt>String</tt>)</span>
358
-
359
-
360
-
361
- &mdash;
362
- <div class='inline'>
363
- <p>Data row cell.</p>
364
- </div>
365
-
366
- </li>
367
-
368
- </ul>
369
-
370
325
  <p class="tag_title">Returns:</p>
371
326
  <ul class="return">
372
327
 
@@ -394,12 +349,12 @@ some type of function.</p>
394
349
  <pre class="lines">
395
350
 
396
351
 
397
- 92
398
- 93
399
- 94</pre>
352
+ 90
353
+ 91
354
+ 92</pre>
400
355
  </td>
401
356
  <td>
402
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/range.rb', line 92</span>
357
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers/range.rb', line 90</span>
403
358
 
404
359
  <span class='kw'>def</span> <span class='id identifier rubyid_matches?'>matches?</span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='rparen'>)</span>
405
360
  <span class='const'><span class='object_link'><a href="" title="CSVDecision::Matchers::Range (class)">Range</a></span></span><span class='period'>.</span><span class='id identifier rubyid_matches?'><span class='object_link'><a href="#matches%3F-class_method" title="CSVDecision::Matchers::Range.matches? (method)">matches?</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_cell'>cell</span><span class='rparen'>)</span>
@@ -414,7 +369,7 @@ some type of function.</p>
414
369
  </div>
415
370
 
416
371
  <div id="footer">
417
- Generated on Sat Jan 6 20:03:02 2018 by
372
+ Generated on Sat Jan 13 10:02:47 2018 by
418
373
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
419
374
  0.9.12 (ruby-2.4.0).
420
375
  </div>
@@ -415,7 +415,7 @@ some type of function.</p>
415
415
  </div>
416
416
 
417
417
  <div id="footer">
418
- Generated on Sat Jan 6 20:03:02 2018 by
418
+ Generated on Sat Jan 13 10:02:47 2018 by
419
419
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
420
420
  0.9.12 (ruby-2.4.0).
421
421
  </div>
@@ -568,9 +568,9 @@ nil.</p>
568
568
  <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 137</span>
569
569
 
570
570
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
571
- <span class='ivar'>@matchers</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:matchers</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_klass'>klass</span><span class='op'>|</span> <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
572
- <span class='ivar'>@ins</span> <span class='op'>=</span> <span class='ivar'>@matchers</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:ins?</span><span class='rparen'>)</span>
573
- <span class='ivar'>@outs</span> <span class='op'>=</span> <span class='ivar'>@matchers</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:outs?</span><span class='rparen'>)</span>
571
+ <span class='id identifier rubyid_matchers'>matchers</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:matchers</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_klass'>klass</span><span class='op'>|</span> <span class='id identifier rubyid_klass'>klass</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
572
+ <span class='ivar'>@ins</span> <span class='op'>=</span> <span class='id identifier rubyid_matchers'>matchers</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:ins?</span><span class='rparen'>)</span>
573
+ <span class='ivar'>@outs</span> <span class='op'>=</span> <span class='id identifier rubyid_matchers'>matchers</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span><span class='lparen'>(</span><span class='op'>&amp;</span><span class='symbol'>:outs?</span><span class='rparen'>)</span>
574
574
  <span class='kw'>end</span></pre>
575
575
  </td>
576
576
  </tr>
@@ -785,7 +785,7 @@ nil.</p>
785
785
  <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 73</span>
786
786
 
787
787
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize_operator'>normalize_operator</span><span class='lparen'>(</span><span class='id identifier rubyid_operator'>operator</span><span class='rparen'>)</span>
788
- <span class='const'>EQUALS_RE</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_operator'>operator</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>==</span><span class='tstring_end'>&#39;</span></span> <span class='op'>:</span> <span class='id identifier rubyid_operator'>operator</span>
788
+ <span class='const'>EQUALS_RE</span><span class='period'>.</span><span class='id identifier rubyid_match?'>match?</span><span class='lparen'>(</span><span class='id identifier rubyid_operator'>operator</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>==</span><span class='tstring_end'>&#39;</span></span> <span class='op'>:</span> <span class='id identifier rubyid_operator'>operator</span>
789
789
  <span class='kw'>end</span></pre>
790
790
  </td>
791
791
  </tr>
@@ -1153,12 +1153,12 @@ non-capturing group.</p>
1153
1153
  <pre class="lines">
1154
1154
 
1155
1155
 
1156
- 62
1157
- 63
1158
- 64</pre>
1156
+ 59
1157
+ 60
1158
+ 61</pre>
1159
1159
  </td>
1160
1160
  <td>
1161
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 62</span>
1161
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 59</span>
1162
1162
 
1163
1163
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_regexp'>regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1164
1164
  <span class='const'>Regexp</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\\A(?:</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_value'>value</span><span class='embexpr_end'>}</span><span class='tstring_content'>)\\z</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
@@ -1457,7 +1457,7 @@ nil.</p>
1457
1457
  </div>
1458
1458
 
1459
1459
  <div id="footer">
1460
- Generated on Sat Jan 6 20:03:01 2018 by
1460
+ Generated on Sat Jan 13 10:02:46 2018 by
1461
1461
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1462
1462
  0.9.12 (ruby-2.4.0).
1463
1463
  </div>
@@ -433,7 +433,7 @@ set.</p>
433
433
  </div>
434
434
 
435
435
  <div id="footer">
436
- Generated on Sat Jan 6 20:03:01 2018 by
436
+ Generated on Sat Jan 13 10:02:46 2018 by
437
437
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
438
438
  0.9.12 (ruby-2.4.0).
439
439
  </div>
@@ -116,6 +116,28 @@
116
116
  <li class="public ">
117
117
  <span class="summary_signature">
118
118
 
119
+ <a href="#ins_cell_dictionary-class_method" title="ins_cell_dictionary (class method)">.<strong>ins_cell_dictionary</strong>(columns:, cell:) &#x21d2; Object </a>
120
+
121
+
122
+
123
+ </span>
124
+
125
+
126
+
127
+
128
+
129
+
130
+ <span class="private note title">private</span>
131
+
132
+
133
+ <span class="summary_desc"><div class='inline'></div></span>
134
+
135
+ </li>
136
+
137
+
138
+ <li class="public ">
139
+ <span class="summary_signature">
140
+
119
141
  <a href="#invalid_out_ref%3F-class_method" title="invalid_out_ref? (class method)">.<strong>invalid_out_ref?</strong>(columns, index, in_out) &#x21d2; Boolean </a>
120
142
 
121
143
 
@@ -169,7 +191,56 @@
169
191
 
170
192
 
171
193
  <div class="method_details first">
172
- <h3 class="signature first" id="invalid_out_ref?-class_method">
194
+ <h3 class="signature first" id="ins_cell_dictionary-class_method">
195
+
196
+ .<strong>ins_cell_dictionary</strong>(columns:, cell:) &#x21d2; <tt>Object</tt>
197
+
198
+
199
+
200
+
201
+
202
+ </h3><div class="docstring">
203
+ <div class="discussion">
204
+ <p class="note private">
205
+ <strong>This method is part of a private API.</strong>
206
+ You should avoid using this method if possible, as it may be removed or be changed in the future.
207
+ </p>
208
+
209
+
210
+ </div>
211
+ </div>
212
+ <div class="tags">
213
+
214
+
215
+ </div><table class="source_code">
216
+ <tr>
217
+ <td>
218
+ <pre class="lines">
219
+
220
+
221
+ 219
222
+ 220
223
+ 221
224
+ 222
225
+ 223
226
+ 224</pre>
227
+ </td>
228
+ <td>
229
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/parse.rb', line 219</span>
230
+
231
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_ins_cell_dictionary'>ins_cell_dictionary</span><span class='lparen'>(</span><span class='label'>columns:</span><span class='comma'>,</span> <span class='label'>cell:</span><span class='rparen'>)</span>
232
+ <span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_cell'>cell</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Proc.html" title="CSVDecision::Matchers::Proc (class)">Proc</a></span></span><span class='rparen'>)</span>
233
+ <span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_cell'>cell</span><span class='period'>.</span><span class='id identifier rubyid_symbols'>symbols</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
234
+
235
+ <span class='id identifier rubyid_add_ins_symbols'>add_ins_symbols</span><span class='lparen'>(</span><span class='label'>columns:</span> <span class='id identifier rubyid_columns'>columns</span><span class='comma'>,</span> <span class='label'>cell:</span> <span class='id identifier rubyid_cell'>cell</span><span class='rparen'>)</span>
236
+ <span class='kw'>end</span></pre>
237
+ </td>
238
+ </tr>
239
+ </table>
240
+ </div>
241
+
242
+ <div class="method_details ">
243
+ <h3 class="signature " id="invalid_out_ref?-class_method">
173
244
 
174
245
  .<strong>invalid_out_ref?</strong>(columns, index, in_out) &#x21d2; <tt>Boolean</tt>
175
246
 
@@ -222,20 +293,20 @@
222
293
  <pre class="lines">
223
294
 
224
295
 
225
- 181
226
- 182
227
- 183
228
- 184
229
- 185
230
- 186
231
- 187
232
- 188
233
- 189
234
- 190
235
- 191</pre>
296
+ 202
297
+ 203
298
+ 204
299
+ 205
300
+ 206
301
+ 207
302
+ 208
303
+ 209
304
+ 210
305
+ 211
306
+ 212</pre>
236
307
  </td>
237
308
  <td>
238
- <pre class="code"><span class="info file"># File 'lib/csv_decision/parse.rb', line 181</span>
309
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/parse.rb', line 202</span>
239
310
 
240
311
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_invalid_out_ref?'>invalid_out_ref?</span><span class='lparen'>(</span><span class='id identifier rubyid_columns'>columns</span><span class='comma'>,</span> <span class='id identifier rubyid_index'>index</span><span class='comma'>,</span> <span class='id identifier rubyid_in_out'>in_out</span><span class='rparen'>)</span>
241
312
  <span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>if</span> <span class='id identifier rubyid_in_out'>in_out</span> <span class='op'>&lt;</span> <span class='id identifier rubyid_index'>index</span>
@@ -337,9 +408,6 @@
337
408
  <pre class="lines">
338
409
 
339
410
 
340
- 54
341
- 55
342
- 56
343
411
  57
344
412
  58
345
413
  59
@@ -350,10 +418,13 @@
350
418
  64
351
419
  65
352
420
  66
353
- 67</pre>
421
+ 67
422
+ 68
423
+ 69
424
+ 70</pre>
354
425
  </td>
355
426
  <td>
356
- <pre class="code"><span class="info file"># File 'lib/csv_decision/parse.rb', line 54</span>
427
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/parse.rb', line 57</span>
357
428
 
358
429
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_table'>table</span><span class='lparen'>(</span><span class='label'>data:</span><span class='comma'>,</span> <span class='label'>options:</span><span class='rparen'>)</span>
359
430
  <span class='id identifier rubyid_table'>table</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../CSVDecision.html" title="CSVDecision (module)">CSVDecision</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Table.html" title="CSVDecision::Table (class)">Table</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Table.html#initialize-instance_method" title="CSVDecision::Table#initialize (method)">new</a></span></span>
@@ -379,7 +450,7 @@
379
450
  </div>
380
451
 
381
452
  <div id="footer">
382
- Generated on Sat Jan 6 20:03:01 2018 by
453
+ Generated on Sat Jan 13 10:02:46 2018 by
383
454
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
384
455
  0.9.12 (ruby-2.4.0).
385
456
  </div>
@@ -952,7 +952,7 @@ result, along with the partial result required to evaluate functions.</p>
952
952
  </div>
953
953
 
954
954
  <div id="footer">
955
- Generated on Sat Jan 6 20:03:02 2018 by
955
+ Generated on Sat Jan 13 10:02:46 2018 by
956
956
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
957
957
  0.9.12 (ruby-2.4.0).
958
958
  </div>