csv_decision 0.1.0 → 0.2.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 (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>