csv_decision 0.2.0 → 0.3.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 (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
@@ -369,7 +369,7 @@ some type of function.</p>
369
369
  </div>
370
370
 
371
371
  <div id="footer">
372
- Generated on Sat Jan 13 10:02:47 2018 by
372
+ Generated on Sat Jan 20 15:44:36 2018 by
373
373
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
374
374
  0.9.12 (ruby-2.4.0).
375
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 13 10:02:47 2018 by
418
+ Generated on Sat Jan 20 15:44:36 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>
@@ -317,30 +317,6 @@ decimal point.</p>
317
317
  valid numeric string.</p>
318
318
  </div></span>
319
319
 
320
- </li>
321
-
322
-
323
- <li class="public ">
324
- <span class="summary_signature">
325
-
326
- <a href="#numeric%3F-class_method" title="numeric? (class method)">.<strong>numeric?</strong>(value) &#x21d2; Boolean </a>
327
-
328
-
329
-
330
- </span>
331
-
332
-
333
-
334
-
335
-
336
-
337
- <span class="private note title">private</span>
338
-
339
-
340
- <span class="summary_desc"><div class='inline'>
341
- <p>Return true if value is an Integer or a BigDecimal, false otherwise.</p>
342
- </div></span>
343
-
344
320
  </li>
345
321
 
346
322
 
@@ -558,14 +534,14 @@ nil.</p>
558
534
  <pre class="lines">
559
535
 
560
536
 
561
- 137
562
- 138
563
- 139
564
- 140
565
- 141</pre>
537
+ 143
538
+ 144
539
+ 145
540
+ 146
541
+ 147</pre>
566
542
  </td>
567
543
  <td>
568
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 137</span>
544
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 143</span>
569
545
 
570
546
  <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
547
  <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>
@@ -632,12 +608,12 @@ nil.</p>
632
608
  <pre class="lines">
633
609
 
634
610
 
635
- 131
636
- 132
637
- 133</pre>
611
+ 137
612
+ 138
613
+ 139</pre>
638
614
  </td>
639
615
  <td>
640
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 131</span>
616
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 137</span>
641
617
 
642
618
  <span class='kw'>def</span> <span class='id identifier rubyid_ins'>ins</span>
643
619
  <span class='ivar'>@ins</span>
@@ -697,12 +673,12 @@ nil.</p>
697
673
  <pre class="lines">
698
674
 
699
675
 
700
- 134
701
- 135
702
- 136</pre>
676
+ 140
677
+ 141
678
+ 142</pre>
703
679
  </td>
704
680
  <td>
705
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 134</span>
681
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 140</span>
706
682
 
707
683
  <span class='kw'>def</span> <span class='id identifier rubyid_outs'>outs</span>
708
684
  <span class='ivar'>@outs</span>
@@ -777,12 +753,12 @@ nil.</p>
777
753
  <pre class="lines">
778
754
 
779
755
 
780
- 73
781
- 74
782
- 75</pre>
756
+ 85
757
+ 86
758
+ 87</pre>
783
759
  </td>
784
760
  <td>
785
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 73</span>
761
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 85</span>
786
762
 
787
763
  <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
764
  <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>
@@ -851,18 +827,18 @@ valid numeric string.</p>
851
827
  <pre class="lines">
852
828
 
853
829
 
854
- 93
855
- 94
856
- 95
857
- 96
858
- 97
859
- 98</pre>
830
+ 99
831
+ 100
832
+ 101
833
+ 102
834
+ 103
835
+ 104</pre>
860
836
  </td>
861
837
  <td>
862
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 93</span>
838
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 99</span>
863
839
 
864
840
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_numeric'>numeric</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
865
- <span class='kw'>return</span> <span class='id identifier rubyid_value'>value</span> <span class='kw'>if</span> <span class='id identifier rubyid_numeric?'>numeric?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
841
+ <span class='kw'>return</span> <span class='id identifier rubyid_value'>value</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Integer</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>BigDecimal</span><span class='rparen'>)</span>
866
842
  <span class='kw'>return</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>String</span><span class='rparen'>)</span>
867
843
 
868
844
  <span class='id identifier rubyid_to_numeric'>to_numeric</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
@@ -870,89 +846,6 @@ valid numeric string.</p>
870
846
  </td>
871
847
  </tr>
872
848
  </table>
873
- </div>
874
-
875
- <div class="method_details ">
876
- <h3 class="signature " id="numeric?-class_method">
877
-
878
- .<strong>numeric?</strong>(value) &#x21d2; <tt>Boolean</tt>
879
-
880
-
881
-
882
-
883
-
884
- </h3><div class="docstring">
885
- <div class="discussion">
886
- <p class="note private">
887
- <strong>This method is part of a private API.</strong>
888
- You should avoid using this method if possible, as it may be removed or be changed in the future.
889
- </p>
890
-
891
- <p>Return true if value is an Integer or a BigDecimal, false otherwise.</p>
892
-
893
-
894
- </div>
895
- </div>
896
- <div class="tags">
897
- <p class="tag_title">Parameters:</p>
898
- <ul class="param">
899
-
900
- <li>
901
-
902
- <span class='name'>value</span>
903
-
904
-
905
- <span class='type'>(<tt>Object</tt>)</span>
906
-
907
-
908
-
909
- &mdash;
910
- <div class='inline'>
911
- <p>Value from the input hash.</p>
912
- </div>
913
-
914
- </li>
915
-
916
- </ul>
917
-
918
- <p class="tag_title">Returns:</p>
919
- <ul class="return">
920
-
921
- <li>
922
-
923
-
924
- <span class='type'>(<tt>Boolean</tt>)</span>
925
-
926
-
927
-
928
- &mdash;
929
- <div class='inline'>
930
- <p>Return true if value is an Integer or a BigDecimal, false otherwise.</p>
931
- </div>
932
-
933
- </li>
934
-
935
- </ul>
936
-
937
- </div><table class="source_code">
938
- <tr>
939
- <td>
940
- <pre class="lines">
941
-
942
-
943
- 85
944
- 86
945
- 87</pre>
946
- </td>
947
- <td>
948
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 85</span>
949
-
950
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_numeric?'>numeric?</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
951
- <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Integer</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>BigDecimal</span><span class='rparen'>)</span>
952
- <span class='kw'>end</span></pre>
953
- </td>
954
- </tr>
955
- </table>
956
849
  </div>
957
850
 
958
851
  <div class="method_details ">
@@ -1051,21 +944,21 @@ matchers.</p>
1051
944
  <pre class="lines">
1052
945
 
1053
946
 
1054
- 117
1055
- 118
1056
- 119
1057
- 120
1058
- 121
1059
- 122
1060
947
  123
1061
948
  124
1062
949
  125
1063
950
  126
1064
951
  127
1065
- 128</pre>
952
+ 128
953
+ 129
954
+ 130
955
+ 131
956
+ 132
957
+ 133
958
+ 134</pre>
1066
959
  </td>
1067
960
  <td>
1068
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 117</span>
961
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 123</span>
1069
962
 
1070
963
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='label'>columns:</span><span class='comma'>,</span> <span class='label'>matchers:</span><span class='comma'>,</span> <span class='label'>row:</span><span class='rparen'>)</span>
1071
964
  <span class='comment'># Build an array of column indexes requiring simple constant matches,
@@ -1077,7 +970,7 @@ matchers.</p>
1077
970
  </span> <span class='comment'># Convert values in the data row if not just a simple constant.
1078
971
  </span> <span class='id identifier rubyid_row'>row</span> <span class='op'>=</span> <span class='id identifier rubyid_scan_row'>scan_row</span><span class='period'>.</span><span class='id identifier rubyid_scan_columns'>scan_columns</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'>matchers:</span> <span class='id identifier rubyid_matchers'>matchers</span><span class='comma'>,</span> <span class='label'>row:</span> <span class='id identifier rubyid_row'>row</span><span class='rparen'>)</span>
1079
972
 
1080
- <span class='lbracket'>[</span><span class='id identifier rubyid_row'>row</span><span class='comma'>,</span> <span class='id identifier rubyid_scan_row'>scan_row</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span><span class='rbracket'>]</span>
973
+ <span class='lbracket'>[</span><span class='id identifier rubyid_row'>row</span><span class='comma'>,</span> <span class='id identifier rubyid_scan_row'>scan_row</span><span class='rbracket'>]</span>
1081
974
  <span class='kw'>end</span></pre>
1082
975
  </td>
1083
976
  </tr>
@@ -1153,12 +1046,12 @@ non-capturing group.</p>
1153
1046
  <pre class="lines">
1154
1047
 
1155
1048
 
1156
- 59
1157
- 60
1158
- 61</pre>
1049
+ 71
1050
+ 72
1051
+ 73</pre>
1159
1052
  </td>
1160
1053
  <td>
1161
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 59</span>
1054
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 71</span>
1162
1055
 
1163
1056
  <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
1057
  <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>
@@ -1227,15 +1120,15 @@ nil.</p>
1227
1120
  <pre class="lines">
1228
1121
 
1229
1122
 
1230
- 104
1231
- 105
1232
- 106
1233
- 107
1234
- 108
1235
- 109</pre>
1123
+ 110
1124
+ 111
1125
+ 112
1126
+ 113
1127
+ 114
1128
+ 115</pre>
1236
1129
  </td>
1237
1130
  <td>
1238
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 104</span>
1131
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 110</span>
1239
1132
 
1240
1133
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_to_numeric'>to_numeric</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1241
1134
  <span class='kw'>return</span> <span class='kw'>unless</span> <span class='lparen'>(</span><span class='id identifier rubyid_match'>match</span> <span class='op'>=</span> <span class='const'>NUMERIC_RE</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span><span class='rparen'>)</span>
@@ -1338,12 +1231,12 @@ nil.</p>
1338
1231
  <pre class="lines">
1339
1232
 
1340
1233
 
1341
- 148
1342
- 149
1343
- 150</pre>
1234
+ 154
1235
+ 155
1236
+ 156</pre>
1344
1237
  </td>
1345
1238
  <td>
1346
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 148</span>
1239
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 154</span>
1347
1240
 
1348
1241
  <span class='kw'>def</span> <span class='id identifier rubyid_parse_ins'>parse_ins</span><span class='lparen'>(</span><span class='label'>columns:</span><span class='comma'>,</span> <span class='label'>row:</span><span class='rparen'>)</span>
1349
1242
  <span class='const'><span class='object_link'><a href="" title="CSVDecision::Matchers (class)">Matchers</a></span></span><span class='period'>.</span><span class='id identifier rubyid_parse'><span class='object_link'><a href="#parse-class_method" title="CSVDecision::Matchers.parse (method)">parse</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'>matchers:</span> <span class='ivar'>@ins</span><span class='comma'>,</span> <span class='label'>row:</span> <span class='id identifier rubyid_row'>row</span><span class='rparen'>)</span>
@@ -1437,12 +1330,12 @@ nil.</p>
1437
1330
  <pre class="lines">
1438
1331
 
1439
1332
 
1440
- 157
1441
- 158
1442
- 159</pre>
1333
+ 163
1334
+ 164
1335
+ 165</pre>
1443
1336
  </td>
1444
1337
  <td>
1445
- <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 157</span>
1338
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/matchers.rb', line 163</span>
1446
1339
 
1447
1340
  <span class='kw'>def</span> <span class='id identifier rubyid_parse_outs'>parse_outs</span><span class='lparen'>(</span><span class='label'>columns:</span><span class='comma'>,</span> <span class='label'>row:</span><span class='rparen'>)</span>
1448
1341
  <span class='const'><span class='object_link'><a href="" title="CSVDecision::Matchers (class)">Matchers</a></span></span><span class='period'>.</span><span class='id identifier rubyid_parse'><span class='object_link'><a href="#parse-class_method" title="CSVDecision::Matchers.parse (method)">parse</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'>matchers:</span> <span class='ivar'>@outs</span><span class='comma'>,</span> <span class='label'>row:</span> <span class='id identifier rubyid_row'>row</span><span class='rparen'>)</span>
@@ -1457,7 +1350,7 @@ nil.</p>
1457
1350
  </div>
1458
1351
 
1459
1352
  <div id="footer">
1460
- Generated on Sat Jan 13 10:02:46 2018 by
1353
+ Generated on Sat Jan 20 15:44:35 2018 by
1461
1354
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1462
1355
  0.9.12 (ruby-2.4.0).
1463
1356
  </div>
@@ -289,22 +289,22 @@ set.</p>
289
289
  <pre class="lines">
290
290
 
291
291
 
292
- 69
293
- 70
294
- 71
295
- 72
296
- 73
297
- 74
298
- 75
299
- 76
300
- 77
301
- 78
302
- 79
303
- 80
304
- 81</pre>
292
+ 56
293
+ 57
294
+ 58
295
+ 59
296
+ 60
297
+ 61
298
+ 62
299
+ 63
300
+ 64
301
+ 65
302
+ 66
303
+ 67
304
+ 68</pre>
305
305
  </td>
306
306
  <td>
307
- <pre class="code"><span class="info file"># File 'lib/csv_decision/options.rb', line 69</span>
307
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/options.rb', line 56</span>
308
308
 
309
309
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_from_csv'>from_csv</span><span class='lparen'>(</span><span class='label'>rows:</span><span class='comma'>,</span> <span class='label'>options:</span><span class='rparen'>)</span>
310
310
  <span class='id identifier rubyid_row'>row</span> <span class='op'>=</span> <span class='id identifier rubyid_rows'>rows</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
@@ -392,7 +392,7 @@ set.</p>
392
392
  <li>
393
393
 
394
394
 
395
- <span class='type'>(<tt>ArgumentError</tt>)</span>
395
+ <span class='type'>(<tt><span class='object_link'><a href="CellValidationError.html" title="CSVDecision::CellValidationError (class)">CellValidationError</a></span></tt>)</span>
396
396
 
397
397
 
398
398
 
@@ -411,13 +411,13 @@ set.</p>
411
411
  <pre class="lines">
412
412
 
413
413
 
414
- 59
415
- 60
416
- 61
417
- 62</pre>
414
+ 46
415
+ 47
416
+ 48
417
+ 49</pre>
418
418
  </td>
419
419
  <td>
420
- <pre class="code"><span class="info file"># File 'lib/csv_decision/options.rb', line 59</span>
420
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/options.rb', line 46</span>
421
421
 
422
422
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize'>normalize</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
423
423
  <span class='id identifier rubyid_validate'>validate</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
@@ -433,7 +433,7 @@ set.</p>
433
433
  </div>
434
434
 
435
435
  <div id="footer">
436
- Generated on Sat Jan 13 10:02:46 2018 by
436
+ Generated on Sat Jan 20 15:44:34 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,50 +116,6 @@
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
-
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>
142
-
143
-
144
-
145
- </span>
146
-
147
-
148
-
149
-
150
-
151
-
152
- <span class="private note title">private</span>
153
-
154
-
155
- <span class="summary_desc"><div class='inline'></div></span>
156
-
157
- </li>
158
-
159
-
160
- <li class="public ">
161
- <span class="summary_signature">
162
-
163
119
  <a href="#table-class_method" title="table (class method)">.<strong>table</strong>(data:, options:) &#x21d2; CSVDecision::Table </a>
164
120
 
165
121
 
@@ -191,141 +147,7 @@
191
147
 
192
148
 
193
149
  <div class="method_details first">
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">
244
-
245
- .<strong>invalid_out_ref?</strong>(columns, index, in_out) &#x21d2; <tt>Boolean</tt>
246
-
247
-
248
-
249
-
250
-
251
- </h3><div class="docstring">
252
- <div class="discussion">
253
- <p class="note private">
254
- <strong>This method is part of a private API.</strong>
255
- You should avoid using this method if possible, as it may be removed or be changed in the future.
256
- </p>
257
-
258
-
259
- </div>
260
- </div>
261
- <div class="tags">
262
-
263
- <p class="tag_title">Returns:</p>
264
- <ul class="return">
265
-
266
- <li>
267
-
268
-
269
- <span class='type'>(<tt>Boolean</tt>)</span>
270
-
271
-
272
-
273
- </li>
274
-
275
- </ul>
276
- <p class="tag_title">Raises:</p>
277
- <ul class="raise">
278
-
279
- <li>
280
-
281
-
282
- <span class='type'>(<tt><span class='object_link'><a href="CellValidationError.html" title="CSVDecision::CellValidationError (class)">CellValidationError</a></span></tt>)</span>
283
-
284
-
285
-
286
- </li>
287
-
288
- </ul>
289
-
290
- </div><table class="source_code">
291
- <tr>
292
- <td>
293
- <pre class="lines">
294
-
295
-
296
- 202
297
- 203
298
- 204
299
- 205
300
- 206
301
- 207
302
- 208
303
- 209
304
- 210
305
- 211
306
- 212</pre>
307
- </td>
308
- <td>
309
- <pre class="code"><span class="info file"># File 'lib/csv_decision/parse.rb', line 202</span>
310
-
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>
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>
313
-
314
- <span class='id identifier rubyid_that_column'>that_column</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id identifier rubyid_in_out'>in_out</span> <span class='op'>==</span> <span class='id identifier rubyid_index'>index</span>
315
- <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>reference to itself</span><span class='tstring_end'>&#39;</span></span>
316
- <span class='kw'>else</span>
317
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>an out of order reference to output column &#39;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_columns'>columns</span><span class='period'>.</span><span class='id identifier rubyid_outs'>outs</span><span class='lbracket'>[</span><span class='id identifier rubyid_in_out'>in_out</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39;</span><span class='tstring_end'>&quot;</span></span>
318
- <span class='kw'>end</span>
319
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="CellValidationError.html" title="CSVDecision::CellValidationError (class)">CellValidationError</a></span></span><span class='comma'>,</span>
320
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>output column &#39;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_columns'>columns</span><span class='period'>.</span><span class='id identifier rubyid_outs'>outs</span><span class='lbracket'>[</span><span class='id identifier rubyid_index'>index</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39; makes </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_that_column'>that_column</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
321
- <span class='kw'>end</span></pre>
322
- </td>
323
- </tr>
324
- </table>
325
- </div>
326
-
327
- <div class="method_details ">
328
- <h3 class="signature " id="table-class_method">
150
+ <h3 class="signature first" id="table-class_method">
329
151
 
330
152
  .<strong>table</strong>(data:, options:) &#x21d2; <tt><span class='object_link'><a href="Table.html" title="CSVDecision::Table (class)">CSVDecision::Table</a></span></tt>
331
153
 
@@ -450,7 +272,7 @@
450
272
  </div>
451
273
 
452
274
  <div id="footer">
453
- Generated on Sat Jan 13 10:02:46 2018 by
275
+ Generated on Sat Jan 20 15:44:34 2018 by
454
276
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
455
277
  0.9.12 (ruby-2.4.0).
456
278
  </div>