csv_decision 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -1
  3. data/README.md +11 -8
  4. data/benchmarks/rufus_decision.rb +9 -1
  5. data/csv_decision.gemspec +1 -1
  6. data/doc/CSVDecision/CellValidationError.html +1 -1
  7. data/doc/CSVDecision/Columns/Dictionary.html +29 -29
  8. data/doc/CSVDecision/Columns.html +394 -47
  9. data/doc/CSVDecision/Data.html +2 -2
  10. data/doc/CSVDecision/Decide.html +23 -159
  11. data/doc/CSVDecision/Decision.html +370 -32
  12. data/doc/CSVDecision/Defaults.html +1 -1
  13. data/doc/CSVDecision/Dictionary/Entry.html +157 -55
  14. data/doc/CSVDecision/Dictionary.html +37 -21
  15. data/doc/CSVDecision/Error.html +1 -1
  16. data/doc/CSVDecision/FileError.html +1 -1
  17. data/doc/CSVDecision/Header.html +142 -1
  18. data/doc/CSVDecision/Index.html +741 -0
  19. data/doc/CSVDecision/Input.html +14 -61
  20. data/doc/CSVDecision/Load.html +1 -1
  21. data/doc/CSVDecision/Matchers/Constant.html +1 -1
  22. data/doc/CSVDecision/Matchers/Function.html +1 -1
  23. data/doc/CSVDecision/Matchers/Guard.html +13 -147
  24. data/doc/CSVDecision/Matchers/Matcher.html +13 -13
  25. data/doc/CSVDecision/Matchers/Numeric.html +1 -1
  26. data/doc/CSVDecision/Matchers/Pattern.html +1 -1
  27. data/doc/CSVDecision/Matchers/Proc.html +147 -14
  28. data/doc/CSVDecision/Matchers/Range.html +1 -1
  29. data/doc/CSVDecision/Matchers/Symbol.html +1 -1
  30. data/doc/CSVDecision/Matchers.html +55 -162
  31. data/doc/CSVDecision/Options.html +21 -21
  32. data/doc/CSVDecision/Parse.html +2 -180
  33. data/doc/CSVDecision/Result.html +220 -38
  34. data/doc/CSVDecision/ScanRow.html +69 -325
  35. data/doc/CSVDecision/Table.html +128 -40
  36. data/doc/CSVDecision/TableValidationError.html +1 -1
  37. data/doc/CSVDecision/Validate.html +1 -1
  38. data/doc/CSVDecision.html +4 -4
  39. data/doc/_index.html +8 -8
  40. data/doc/class_list.html +1 -1
  41. data/doc/file.README.html +13 -11
  42. data/doc/index.html +13 -11
  43. data/doc/method_list.html +206 -150
  44. data/doc/top-level-namespace.html +1 -1
  45. data/lib/csv_decision/columns.rb +87 -1
  46. data/lib/csv_decision/decision.rb +54 -29
  47. data/lib/csv_decision/defaults.rb +1 -1
  48. data/lib/csv_decision/dictionary.rb +32 -22
  49. data/lib/csv_decision/header.rb +17 -0
  50. data/lib/csv_decision/index.rb +107 -0
  51. data/lib/csv_decision/input.rb +45 -13
  52. data/lib/csv_decision/matchers/guard.rb +2 -0
  53. data/lib/csv_decision/matchers.rb +14 -8
  54. data/lib/csv_decision/options.rb +7 -19
  55. data/lib/csv_decision/parse.rb +12 -96
  56. data/lib/csv_decision/result.rb +10 -9
  57. data/lib/csv_decision/scan_row.rb +20 -44
  58. data/lib/csv_decision/table.rb +7 -4
  59. data/lib/csv_decision.rb +1 -1
  60. data/spec/csv_decision/columns_spec.rb +6 -6
  61. data/spec/csv_decision/data_spec.rb +0 -5
  62. data/spec/csv_decision/index_spec.rb +58 -0
  63. data/spec/csv_decision/input_spec.rb +7 -2
  64. data/spec/csv_decision/options_spec.rb +16 -1
  65. data/spec/csv_decision/parse_spec.rb +4 -5
  66. data/spec/csv_decision/table_spec.rb +70 -0
  67. data/spec/data/{valid → invalid}/empty.csv +0 -0
  68. data/spec/data/valid/index_example.csv +12 -0
  69. data/spec/data/valid/multi_column_index.csv +10 -0
  70. data/spec/data/valid/multi_column_index2.csv +12 -0
  71. data/spec/data/valid/options_in_file3.csv +13 -0
  72. metadata +16 -5
  73. data/lib/csv_decision/decide.rb +0 -45
@@ -174,6 +174,33 @@ it only contains constants.</p>
174
174
  default value.</p>
175
175
  </div></span>
176
176
 
177
+ </li>
178
+
179
+
180
+ <li class="public ">
181
+ <span class="summary_signature">
182
+
183
+ <a href="#indexed-instance_method" title="#indexed (instance method)">#<strong>indexed</strong> &#x21d2; Boolean </a>
184
+
185
+
186
+
187
+ </span>
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+ <span class="private note title">private</span>
198
+
199
+
200
+ <span class="summary_desc"><div class='inline'>
201
+ <p>Returns true if this column is indexed.</p>
202
+ </div></span>
203
+
177
204
  </li>
178
205
 
179
206
 
@@ -296,7 +323,7 @@ default value.</p>
296
323
 
297
324
  <span class="summary_desc"><div class='inline'>
298
325
  <p>Create a new column dictionary entry defaulting attributes from the column
299
- type, which is looked up in <code>ENTRY</code> table.</p>
326
+ type, which is looked up in the above table.</p>
300
327
  </div></span>
301
328
 
302
329
  </li>
@@ -314,7 +341,7 @@ type, which is looked up in <code>ENTRY</code> table.</p>
314
341
  <li class="public ">
315
342
  <span class="summary_signature">
316
343
 
317
- <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(name:, type:, eval: nil, set_if: nil) &#x21d2; Entry </a>
344
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(name:, type:, eval: nil, set_if: nil, indexed: nil) &#x21d2; Entry </a>
318
345
 
319
346
 
320
347
 
@@ -394,7 +421,7 @@ type, which is looked up in <code>ENTRY</code> table.</p>
394
421
  <div class="method_details first">
395
422
  <h3 class="signature first" id="initialize-instance_method">
396
423
 
397
- #<strong>initialize</strong>(name:, type:, eval: nil, set_if: nil) &#x21d2; <tt><span class='object_link'><a href="" title="CSVDecision::Dictionary::Entry (class)">Entry</a></span></tt>
424
+ #<strong>initialize</strong>(name:, type:, eval: nil, set_if: nil, indexed: nil) &#x21d2; <tt><span class='object_link'><a href="" title="CSVDecision::Dictionary::Entry (class)">Entry</a></span></tt>
398
425
 
399
426
 
400
427
 
@@ -421,25 +448,27 @@ type, which is looked up in <code>ENTRY</code> table.</p>
421
448
  <pre class="lines">
422
449
 
423
450
 
424
- 70
425
- 71
426
- 72
427
- 73
428
- 74
429
- 75
430
- 76
431
- 77</pre>
451
+ 91
452
+ 92
453
+ 93
454
+ 94
455
+ 95
456
+ 96
457
+ 97
458
+ 98
459
+ 99</pre>
432
460
  </td>
433
461
  <td>
434
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 70</span>
462
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 91</span>
435
463
 
436
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>name:</span><span class='comma'>,</span> <span class='label'>type:</span><span class='comma'>,</span> <span class='label'>eval:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>set_if:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
464
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='label'>name:</span><span class='comma'>,</span> <span class='label'>type:</span><span class='comma'>,</span> <span class='label'>eval:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>set_if:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>indexed:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
437
465
  <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span>
438
466
  <span class='ivar'>@type</span> <span class='op'>=</span> <span class='id identifier rubyid_type'>type</span>
439
467
  <span class='ivar'>@eval</span> <span class='op'>=</span> <span class='id identifier rubyid_eval'>eval</span>
440
468
  <span class='ivar'>@set_if</span> <span class='op'>=</span> <span class='id identifier rubyid_set_if'>set_if</span>
441
469
  <span class='ivar'>@function</span> <span class='op'>=</span> <span class='kw'>nil</span>
442
470
  <span class='ivar'>@ins</span> <span class='op'>=</span> <span class='const'>INS_TYPES</span><span class='period'>.</span><span class='id identifier rubyid_member?'>member?</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
471
+ <span class='ivar'>@indexed</span> <span class='op'>=</span> <span class='id identifier rubyid_indexed'>indexed</span>
443
472
  <span class='kw'>end</span></pre>
444
473
  </td>
445
474
  </tr>
@@ -503,12 +532,12 @@ it only contains constants.</p>
503
532
  <pre class="lines">
504
533
 
505
534
 
506
- 55
507
- 56
508
- 57</pre>
535
+ 75
536
+ 76
537
+ 77</pre>
509
538
  </td>
510
539
  <td>
511
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 55</span>
540
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 75</span>
512
541
 
513
542
  <span class='kw'>def</span> <span class='id identifier rubyid_eval'>eval</span>
514
543
  <span class='ivar'>@eval</span>
@@ -570,12 +599,12 @@ default value. If not a proc, then it&#39;s some type of constant.</p>
570
599
  <pre class="lines">
571
600
 
572
601
 
573
- 64
574
- 65
575
- 66</pre>
602
+ 84
603
+ 85
604
+ 86</pre>
576
605
  </td>
577
606
  <td>
578
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 64</span>
607
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 84</span>
579
608
 
580
609
  <span class='kw'>def</span> <span class='id identifier rubyid_function'>function</span>
581
610
  <span class='ivar'>@function</span>
@@ -586,6 +615,71 @@ default value. If not a proc, then it&#39;s some type of constant.</p>
586
615
  </div>
587
616
 
588
617
 
618
+ <span id="indexed=-instance_method"></span>
619
+ <div class="method_details ">
620
+ <h3 class="signature " id="indexed-instance_method">
621
+
622
+ #<strong>indexed</strong> &#x21d2; <tt>Boolean</tt>
623
+
624
+
625
+
626
+
627
+
628
+ </h3><div class="docstring">
629
+ <div class="discussion">
630
+ <p class="note private">
631
+ <strong>This method is part of a private API.</strong>
632
+ You should avoid using this method if possible, as it may be removed or be changed in the future.
633
+ </p>
634
+
635
+ <p>Returns true if this column is indexed</p>
636
+
637
+
638
+ </div>
639
+ </div>
640
+ <div class="tags">
641
+
642
+ <p class="tag_title">Returns:</p>
643
+ <ul class="return">
644
+
645
+ <li>
646
+
647
+
648
+ <span class='type'>(<tt>Boolean</tt>)</span>
649
+
650
+
651
+
652
+ &mdash;
653
+ <div class='inline'>
654
+ <p>Returns true if this column is indexed</p>
655
+ </div>
656
+
657
+ </li>
658
+
659
+ </ul>
660
+
661
+ </div><table class="source_code">
662
+ <tr>
663
+ <td>
664
+ <pre class="lines">
665
+
666
+
667
+ 71
668
+ 72
669
+ 73</pre>
670
+ </td>
671
+ <td>
672
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 71</span>
673
+
674
+ <span class='kw'>def</span> <span class='id identifier rubyid_indexed'>indexed</span>
675
+ <span class='ivar'>@indexed</span>
676
+ <span class='kw'>end</span></pre>
677
+ </td>
678
+ </tr>
679
+ </table>
680
+ </div>
681
+
682
+
589
683
  <span id=""></span>
590
684
  <div class="method_details ">
591
685
  <h3 class="signature " id="name-instance_method">
@@ -635,12 +729,12 @@ default value. If not a proc, then it&#39;s some type of constant.</p>
635
729
  <pre class="lines">
636
730
 
637
731
 
638
- 48
639
- 49
640
- 50</pre>
732
+ 65
733
+ 66
734
+ 67</pre>
641
735
  </td>
642
736
  <td>
643
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 48</span>
737
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 65</span>
644
738
 
645
739
  <span class='kw'>def</span> <span class='id identifier rubyid_name'>name</span>
646
740
  <span class='ivar'>@name</span>
@@ -704,12 +798,12 @@ value that must evaluate to a truthy value.</p>
704
798
  <pre class="lines">
705
799
 
706
800
 
707
- 60
708
- 61
709
- 62</pre>
801
+ 80
802
+ 81
803
+ 82</pre>
710
804
  </td>
711
805
  <td>
712
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 60</span>
806
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 80</span>
713
807
 
714
808
  <span class='kw'>def</span> <span class='id identifier rubyid_set_if'>set_if</span>
715
809
  <span class='ivar'>@set_if</span>
@@ -769,12 +863,12 @@ value that must evaluate to a truthy value.</p>
769
863
  <pre class="lines">
770
864
 
771
865
 
772
- 51
773
- 52
774
- 53</pre>
866
+ 68
867
+ 69
868
+ 70</pre>
775
869
  </td>
776
870
  <td>
777
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 51</span>
871
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 68</span>
778
872
 
779
873
  <span class='kw'>def</span> <span class='id identifier rubyid_type'>type</span>
780
874
  <span class='ivar'>@type</span>
@@ -808,7 +902,7 @@ value that must evaluate to a truthy value.</p>
808
902
  </p>
809
903
 
810
904
  <p>Create a new column dictionary entry defaulting attributes from the column
811
- type, which is looked up in <code>ENTRY</code> table.</p>
905
+ type, which is looked up in the above table.</p>
812
906
 
813
907
 
814
908
  </div>
@@ -876,18 +970,26 @@ type, which is looked up in <code>ENTRY</code> table.</p>
876
970
  <pre class="lines">
877
971
 
878
972
 
879
- 37
880
- 38
881
- 39
882
- 40</pre>
973
+ 50
974
+ 51
975
+ 52
976
+ 53
977
+ 54
978
+ 55
979
+ 56
980
+ 57</pre>
883
981
  </td>
884
982
  <td>
885
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 37</span>
983
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 50</span>
886
984
 
887
985
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='label'>name:</span><span class='comma'>,</span> <span class='label'>type:</span><span class='rparen'>)</span>
888
986
  <span class='id identifier rubyid_entry'>entry</span> <span class='op'>=</span> <span class='const'>ENTRY</span><span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span><span class='rbracket'>]</span>
889
- <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>eval:</span> <span class='id identifier rubyid_entry'>entry</span><span class='lbracket'>[</span><span class='symbol'>:eval</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='label'>type:</span> <span class='id identifier rubyid_entry'>entry</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='label'>set_if:</span> <span class='id identifier rubyid_entry'>entry</span><span class='lbracket'>[</span><span class='symbol'>:set_if</span><span class='rbracket'>]</span><span class='rparen'>)</span>
890
- <span class='kw'>end</span></pre>
987
+ <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>name:</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span>
988
+ <span class='label'>eval:</span> <span class='id identifier rubyid_entry'>entry</span><span class='lbracket'>[</span><span class='symbol'>:eval</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='comment'># Set if the column requires functions evaluated
989
+ </span> <span class='label'>type:</span> <span class='id identifier rubyid_entry'>entry</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='comment'># Column type
990
+ </span> <span class='label'>set_if:</span> <span class='id identifier rubyid_entry'>entry</span><span class='lbracket'>[</span><span class='symbol'>:set_if</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='comment'># Set if the column has a conditional default
991
+ </span> <span class='label'>indexed:</span> <span class='id identifier rubyid_entry'>entry</span><span class='lbracket'>[</span><span class='symbol'>:type</span><span class='rbracket'>]</span> <span class='op'>!=</span> <span class='symbol'>:guard</span><span class='rparen'>)</span> <span class='comment'># A guard column cannot be indexed.
992
+ </span><span class='kw'>end</span></pre>
891
993
  </td>
892
994
  </tr>
893
995
  </table>
@@ -947,12 +1049,12 @@ type, which is looked up in <code>ENTRY</code> table.</p>
947
1049
  <pre class="lines">
948
1050
 
949
1051
 
950
- 43
951
- 44
952
- 45</pre>
1052
+ 60
1053
+ 61
1054
+ 62</pre>
953
1055
  </td>
954
1056
  <td>
955
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 43</span>
1057
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 60</span>
956
1058
 
957
1059
  <span class='kw'>def</span> <span class='id identifier rubyid_ins?'>ins?</span>
958
1060
  <span class='ivar'>@ins</span>
@@ -1005,17 +1107,17 @@ type, which is looked up in <code>ENTRY</code> table.</p>
1005
1107
  <pre class="lines">
1006
1108
 
1007
1109
 
1008
- 82
1009
- 83
1010
- 84
1011
- 85
1012
- 86
1013
- 87
1014
- 88
1015
- 89</pre>
1110
+ 104
1111
+ 105
1112
+ 106
1113
+ 107
1114
+ 108
1115
+ 109
1116
+ 110
1117
+ 111</pre>
1016
1118
  </td>
1017
1119
  <td>
1018
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 82</span>
1120
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 104</span>
1019
1121
 
1020
1122
  <span class='kw'>def</span> <span class='id identifier rubyid_to_h'>to_h</span>
1021
1123
  <span class='lbrace'>{</span>
@@ -1035,7 +1137,7 @@ type, which is looked up in <code>ENTRY</code> table.</p>
1035
1137
  </div>
1036
1138
 
1037
1139
  <div id="footer">
1038
- Generated on Sat Jan 13 10:02:47 2018 by
1140
+ Generated on Sat Jan 20 15:44:36 2018 by
1039
1141
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1040
1142
  0.9.12 (ruby-2.4.0).
1041
1143
  </div>
@@ -151,7 +151,7 @@ table load time.</p>
151
151
  <li class="public ">
152
152
  <span class="summary_signature">
153
153
 
154
- <a href="#build-class_method" title="build (class method)">.<strong>build</strong>(header:, dictionary:) &#x21d2; Hash&lt;Hash&gt; </a>
154
+ <a href="#build-class_method" title="build (class method)">.<strong>build</strong>(header:, dictionary:) &#x21d2; Columns::Dictionary </a>
155
155
 
156
156
 
157
157
 
@@ -244,7 +244,7 @@ the header row.</p>
244
244
  <span class='name'>out</span>
245
245
 
246
246
 
247
- <span class='type'>(<tt>false</tt>, <tt>Index</tt>)</span>
247
+ <span class='type'>(<tt>false</tt>, <tt><span class='object_link'><a href="Index.html" title="CSVDecision::Index (class)">Index</a></span></tt>)</span>
248
248
 
249
249
 
250
250
 
@@ -282,15 +282,15 @@ the header row.</p>
282
282
  <pre class="lines">
283
283
 
284
284
 
285
- 111
286
- 112
287
- 113
288
- 114
289
- 115
290
- 116</pre>
285
+ 17
286
+ 18
287
+ 19
288
+ 20
289
+ 21
290
+ 22</pre>
291
291
  </td>
292
292
  <td>
293
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 111</span>
293
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 17</span>
294
294
 
295
295
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_add_name'>add_name</span><span class='lparen'>(</span><span class='label'>columns:</span><span class='comma'>,</span> <span class='label'>name:</span><span class='comma'>,</span> <span class='label'>out:</span> <span class='kw'>false</span><span class='rparen'>)</span>
296
296
  <span class='const'><span class='object_link'><a href="Validate.html" title="CSVDecision::Validate (module)">Validate</a></span></span><span class='period'>.</span><span class='id identifier rubyid_name'><span class='object_link'><a href="Validate.html#name-class_method" title="CSVDecision::Validate.name (method)">name</a></span></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'>name:</span> <span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='label'>out:</span> <span class='id identifier rubyid_out'>out</span><span class='rparen'>)</span>
@@ -306,7 +306,7 @@ the header row.</p>
306
306
  <div class="method_details ">
307
307
  <h3 class="signature " id="build-class_method">
308
308
 
309
- .<strong>build</strong>(header:, dictionary:) &#x21d2; <tt>Hash&lt;Hash&gt;</tt>
309
+ .<strong>build</strong>(header:, dictionary:) &#x21d2; <tt><span class='object_link'><a href="Columns/Dictionary.html" title="CSVDecision::Columns::Dictionary (class)">Columns::Dictionary</a></span></tt>
310
310
 
311
311
 
312
312
 
@@ -341,6 +341,22 @@ the header row.</p>
341
341
  &mdash;
342
342
  <div class='inline'>
343
343
  <p>The header row after removing any empty columns.</p>
344
+ </div>
345
+
346
+ </li>
347
+
348
+ <li>
349
+
350
+ <span class='name'>dictionary</span>
351
+
352
+
353
+ <span class='type'>(<tt><span class='object_link'><a href="Columns/Dictionary.html" title="CSVDecision::Columns::Dictionary (class)">Columns::Dictionary</a></span></tt>)</span>
354
+
355
+
356
+
357
+ &mdash;
358
+ <div class='inline'>
359
+ <p>Table&#39;s columns dictionary.</p>
344
360
  </div>
345
361
 
346
362
  </li>
@@ -353,13 +369,13 @@ the header row.</p>
353
369
  <li>
354
370
 
355
371
 
356
- <span class='type'>(<tt>Hash&lt;Hash&gt;</tt>)</span>
372
+ <span class='type'>(<tt><span class='object_link'><a href="Columns/Dictionary.html" title="CSVDecision::Columns::Dictionary (class)">Columns::Dictionary</a></span></tt>)</span>
357
373
 
358
374
 
359
375
 
360
376
  &mdash;
361
377
  <div class='inline'>
362
- <p>Column dictionary is a hash of hashes.</p>
378
+ <p>Table&#39;s columns dictionary.</p>
363
379
  </div>
364
380
 
365
381
  </li>
@@ -372,16 +388,16 @@ the header row.</p>
372
388
  <pre class="lines">
373
389
 
374
390
 
375
- 97
376
- 98
377
- 99
378
- 100
379
- 101
380
- 102
381
- 103</pre>
391
+ 120
392
+ 121
393
+ 122
394
+ 123
395
+ 124
396
+ 125
397
+ 126</pre>
382
398
  </td>
383
399
  <td>
384
- <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 97</span>
400
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/dictionary.rb', line 120</span>
385
401
 
386
402
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_build'>build</span><span class='lparen'>(</span><span class='label'>header:</span><span class='comma'>,</span> <span class='label'>dictionary:</span><span class='rparen'>)</span>
387
403
  <span class='id identifier rubyid_header'>header</span><span class='period'>.</span><span class='id identifier rubyid_each_with_index'>each_with_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_cell'>cell</span><span class='comma'>,</span> <span class='id identifier rubyid_index'>index</span><span class='op'>|</span>
@@ -400,7 +416,7 @@ the header row.</p>
400
416
  </div>
401
417
 
402
418
  <div id="footer">
403
- Generated on Sat Jan 13 10:02:46 2018 by
419
+ Generated on Sat Jan 20 15:44:34 2018 by
404
420
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
405
421
  0.9.12 (ruby-2.4.0).
406
422
  </div>
@@ -129,7 +129,7 @@
129
129
  </div>
130
130
 
131
131
  <div id="footer">
132
- Generated on Sat Jan 13 10:02:46 2018 by
132
+ Generated on Sat Jan 20 15:44:35 2018 by
133
133
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
134
134
  0.9.12 (ruby-2.4.0).
135
135
  </div>
@@ -133,7 +133,7 @@
133
133
  </div>
134
134
 
135
135
  <div id="footer">
136
- Generated on Sat Jan 13 10:02:46 2018 by
136
+ Generated on Sat Jan 20 15:44:35 2018 by
137
137
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
138
138
  0.9.12 (ruby-2.4.0).
139
139
  </div>