csv_decision 0.0.8 → 0.0.9

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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/CHANGELOG.md +4 -0
  4. data/README.md +62 -28
  5. data/csv_decision.gemspec +1 -1
  6. data/doc/CSVDecision/CellValidationError.html +2 -2
  7. data/doc/CSVDecision/Columns/Dictionary.html +114 -20
  8. data/doc/CSVDecision/Columns/Entry.html +2 -2
  9. data/doc/CSVDecision/Columns.html +109 -27
  10. data/doc/CSVDecision/Data.html +2 -2
  11. data/doc/CSVDecision/Decide.html +2 -2
  12. data/doc/CSVDecision/Decision.html +21 -21
  13. data/doc/CSVDecision/Dictionary/Entry.html +508 -0
  14. data/doc/CSVDecision/Dictionary.html +265 -0
  15. data/doc/CSVDecision/Error.html +2 -2
  16. data/doc/CSVDecision/FileError.html +3 -3
  17. data/doc/CSVDecision/Header.html +37 -136
  18. data/doc/CSVDecision/Input.html +2 -2
  19. data/doc/CSVDecision/Load.html +2 -2
  20. data/doc/CSVDecision/Matchers/Constant.html +2 -2
  21. data/doc/CSVDecision/Matchers/Function.html +2 -2
  22. data/doc/CSVDecision/Matchers/Guard.html +92 -25
  23. data/doc/CSVDecision/Matchers/Matcher.html +14 -18
  24. data/doc/CSVDecision/Matchers/Numeric.html +2 -2
  25. data/doc/CSVDecision/Matchers/Pattern.html +2 -2
  26. data/doc/CSVDecision/Matchers/Range.html +2 -2
  27. data/doc/CSVDecision/Matchers/Symbol.html +2 -2
  28. data/doc/CSVDecision/Matchers.html +5 -5
  29. data/doc/CSVDecision/Options.html +2 -2
  30. data/doc/CSVDecision/Parse.html +6 -4
  31. data/doc/CSVDecision/Result.html +944 -0
  32. data/doc/CSVDecision/ScanRow.html +70 -80
  33. data/doc/CSVDecision/Table.html +134 -54
  34. data/doc/CSVDecision.html +5 -5
  35. data/doc/_index.html +18 -4
  36. data/doc/class_list.html +1 -1
  37. data/doc/file.README.html +132 -62
  38. data/doc/index.html +132 -62
  39. data/doc/method_list.html +156 -60
  40. data/doc/top-level-namespace.html +2 -2
  41. data/lib/csv_decision/columns.rb +1 -8
  42. data/lib/csv_decision/decision.rb +45 -96
  43. data/lib/csv_decision/dictionary.rb +149 -0
  44. data/lib/csv_decision/header.rb +6 -133
  45. data/lib/csv_decision/matchers.rb +1 -2
  46. data/lib/csv_decision/parse.rb +18 -7
  47. data/lib/csv_decision/result.rb +180 -0
  48. data/lib/csv_decision/scan_row.rb +13 -7
  49. data/lib/csv_decision/table.rb +6 -5
  50. data/lib/csv_decision.rb +3 -1
  51. data/spec/csv_decision/columns_spec.rb +25 -4
  52. data/spec/csv_decision/examples_spec.rb +25 -0
  53. data/spec/csv_decision/matchers/guard_spec.rb +26 -9
  54. data/spec/csv_decision/table_spec.rb +48 -2
  55. metadata +7 -2
data/doc/method_list.html CHANGED
@@ -44,6 +44,38 @@
44
44
  <ul id="full_list" class="method">
45
45
 
46
46
 
47
+ <li class="odd ">
48
+ <div class="item">
49
+ <span class='object_link'><a href="CSVDecision/Result.html#accumulate_outs-instance_method" title="CSVDecision::Result#accumulate_outs (method)">#accumulate_outs</a></span>
50
+ <small>CSVDecision::Result</small>
51
+ </div>
52
+ </li>
53
+
54
+
55
+ <li class="even ">
56
+ <div class="item">
57
+ <span class='object_link'><a href="CSVDecision/Result.html#add_outs-instance_method" title="CSVDecision::Result#add_outs (method)">#add_outs</a></span>
58
+ <small>CSVDecision::Result</small>
59
+ </div>
60
+ </li>
61
+
62
+
63
+ <li class="odd ">
64
+ <div class="item">
65
+ <span class='object_link'><a href="CSVDecision/Result.html#attributes-instance_method" title="CSVDecision::Result#attributes (method)">#attributes</a></span>
66
+ <small>CSVDecision::Result</small>
67
+ </div>
68
+ </li>
69
+
70
+
71
+ <li class="even ">
72
+ <div class="item">
73
+ <span class='object_link'><a href="CSVDecision/Dictionary.html#build-class_method" title="CSVDecision::Dictionary.build (method)">build</a></span>
74
+ <small>CSVDecision::Dictionary</small>
75
+ </div>
76
+ </li>
77
+
78
+
47
79
  <li class="odd ">
48
80
  <div class="item">
49
81
  <span class='object_link'><a href="CSVDecision/Table.html#columns-instance_method" title="CSVDecision::Table#columns (method)">#columns</a></span>
@@ -62,16 +94,16 @@
62
94
 
63
95
  <li class="odd ">
64
96
  <div class="item">
65
- <span class='object_link'><a href="CSVDecision/Decide.html#decide-class_method" title="CSVDecision::Decide.decide (method)">decide</a></span>
66
- <small>CSVDecision::Decide</small>
97
+ <span class='object_link'><a href="CSVDecision/Table.html#decide-instance_method" title="CSVDecision::Table#decide (method)">#decide</a></span>
98
+ <small>CSVDecision::Table</small>
67
99
  </div>
68
100
  </li>
69
101
 
70
102
 
71
103
  <li class="even ">
72
104
  <div class="item">
73
- <span class='object_link'><a href="CSVDecision/Table.html#decide-instance_method" title="CSVDecision::Table#decide (method)">#decide</a></span>
74
- <small>CSVDecision::Table</small>
105
+ <span class='object_link'><a href="CSVDecision/Decide.html#decide-class_method" title="CSVDecision::Decide.decide (method)">decide</a></span>
106
+ <small>CSVDecision::Decide</small>
75
107
  </div>
76
108
  </li>
77
109
 
@@ -86,32 +118,32 @@
86
118
 
87
119
  <li class="even ">
88
120
  <div class="item">
89
- <span class='object_link'><a href="CSVDecision/Header.html#dictionary-class_method" title="CSVDecision::Header.dictionary (method)">dictionary</a></span>
90
- <small>CSVDecision::Header</small>
121
+ <span class='object_link'><a href="CSVDecision/Columns.html#dictionary-instance_method" title="CSVDecision::Columns#dictionary (method)">#dictionary</a></span>
122
+ <small>CSVDecision::Columns</small>
91
123
  </div>
92
124
  </li>
93
125
 
94
126
 
95
127
  <li class="odd ">
96
128
  <div class="item">
97
- <span class='object_link'><a href="CSVDecision/Columns.html#dictionary-instance_method" title="CSVDecision::Columns#dictionary (method)">#dictionary</a></span>
98
- <small>CSVDecision::Columns</small>
129
+ <span class='object_link'><a href="CSVDecision/Table.html#each-instance_method" title="CSVDecision::Table#each (method)">#each</a></span>
130
+ <small>CSVDecision::Table</small>
99
131
  </div>
100
132
  </li>
101
133
 
102
134
 
103
135
  <li class="even ">
104
136
  <div class="item">
105
- <span class='object_link'><a href="CSVDecision/Table.html#each-instance_method" title="CSVDecision::Table#each (method)">#each</a></span>
106
- <small>CSVDecision::Table</small>
137
+ <span class='object_link'><a href="CSVDecision/Dictionary/Entry.html#eval-instance_method" title="CSVDecision::Dictionary::Entry#eval (method)">#eval</a></span>
138
+ <small>CSVDecision::Dictionary::Entry</small>
107
139
  </div>
108
140
  </li>
109
141
 
110
142
 
111
143
  <li class="odd ">
112
144
  <div class="item">
113
- <span class='object_link'><a href="CSVDecision/Columns/Entry.html#eval-instance_method" title="CSVDecision::Columns::Entry#eval (method)">#eval</a></span>
114
- <small>CSVDecision::Columns::Entry</small>
145
+ <span class='object_link'><a href="CSVDecision/Result.html#eval_cell_proc-instance_method" title="CSVDecision::Result#eval_cell_proc (method)">#eval_cell_proc</a></span>
146
+ <small>CSVDecision::Result</small>
115
147
  </div>
116
148
  </li>
117
149
 
@@ -125,6 +157,14 @@
125
157
 
126
158
 
127
159
  <li class="odd ">
160
+ <div class="item">
161
+ <span class='object_link'><a href="CSVDecision/Result.html#eval_outs-instance_method" title="CSVDecision::Result#eval_outs (method)">#eval_outs</a></span>
162
+ <small>CSVDecision::Result</small>
163
+ </div>
164
+ </li>
165
+
166
+
167
+ <li class="even ">
128
168
  <div class="item">
129
169
  <span class='object_link'><a href="CSVDecision/Table.html#file-instance_method" title="CSVDecision::Table#file (method)">#file</a></span>
130
170
  <small>CSVDecision::Table</small>
@@ -132,6 +172,14 @@
132
172
  </li>
133
173
 
134
174
 
175
+ <li class="odd ">
176
+ <div class="item">
177
+ <span class='object_link'><a href="CSVDecision/Result.html#final-instance_method" title="CSVDecision::Result#final (method)">#final</a></span>
178
+ <small>CSVDecision::Result</small>
179
+ </div>
180
+ </li>
181
+
182
+
135
183
  <li class="even ">
136
184
  <div class="item">
137
185
  <span class='object_link'><a href="CSVDecision/Options.html#from_csv-class_method" title="CSVDecision::Options.from_csv (method)">from_csv</a></span>
@@ -142,37 +190,45 @@
142
190
 
143
191
  <li class="odd ">
144
192
  <div class="item">
145
- <span class='object_link'><a href="CSVDecision/Matchers/Matcher.html#initialize-instance_method" title="CSVDecision::Matchers::Matcher#initialize (method)">#initialize</a></span>
146
- <small>CSVDecision::Matchers::Matcher</small>
193
+ <span class='object_link'><a href="CSVDecision/Table.html#if_rows-instance_method" title="CSVDecision::Table#if_rows (method)">#if_rows</a></span>
194
+ <small>CSVDecision::Table</small>
147
195
  </div>
148
196
  </li>
149
197
 
150
198
 
151
199
  <li class="even ">
152
200
  <div class="item">
153
- <span class='object_link'><a href="CSVDecision/Columns/Dictionary.html#initialize-instance_method" title="CSVDecision::Columns::Dictionary#initialize (method)">#initialize</a></span>
154
- <small>CSVDecision::Columns::Dictionary</small>
201
+ <span class='object_link'><a href="CSVDecision/Columns.html#ifs-instance_method" title="CSVDecision::Columns#ifs (method)">#ifs</a></span>
202
+ <small>CSVDecision::Columns</small>
155
203
  </div>
156
204
  </li>
157
205
 
158
206
 
159
207
  <li class="odd ">
160
208
  <div class="item">
161
- <span class='object_link'><a href="CSVDecision/Matchers/Pattern.html#initialize-instance_method" title="CSVDecision::Matchers::Pattern#initialize (method)">#initialize</a></span>
162
- <small>CSVDecision::Matchers::Pattern</small>
209
+ <span class='object_link'><a href="CSVDecision/Columns/Dictionary.html#ifs-instance_method" title="CSVDecision::Columns::Dictionary#ifs (method)">#ifs</a></span>
210
+ <small>CSVDecision::Columns::Dictionary</small>
163
211
  </div>
164
212
  </li>
165
213
 
166
214
 
167
215
  <li class="even ">
168
216
  <div class="item">
169
- <span class='object_link'><a href="CSVDecision/ScanRow.html#initialize-instance_method" title="CSVDecision::ScanRow#initialize (method)">#initialize</a></span>
170
- <small>CSVDecision::ScanRow</small>
217
+ <span class='object_link'><a href="CSVDecision/Matchers/Function.html#initialize-instance_method" title="CSVDecision::Matchers::Function#initialize (method)">#initialize</a></span>
218
+ <small>CSVDecision::Matchers::Function</small>
171
219
  </div>
172
220
  </li>
173
221
 
174
222
 
175
223
  <li class="odd ">
224
+ <div class="item">
225
+ <span class='object_link'><a href="CSVDecision/Matchers/Matcher.html#initialize-instance_method" title="CSVDecision::Matchers::Matcher#initialize (method)">#initialize</a></span>
226
+ <small>CSVDecision::Matchers::Matcher</small>
227
+ </div>
228
+ </li>
229
+
230
+
231
+ <li class="even ">
176
232
  <div class="item">
177
233
  <span class='object_link'><a href="CSVDecision/Matchers.html#initialize-instance_method" title="CSVDecision::Matchers#initialize (method)">#initialize</a></span>
178
234
  <small>CSVDecision::Matchers</small>
@@ -180,18 +236,26 @@
180
236
  </li>
181
237
 
182
238
 
239
+ <li class="odd ">
240
+ <div class="item">
241
+ <span class='object_link'><a href="CSVDecision/ScanRow.html#initialize-instance_method" title="CSVDecision::ScanRow#initialize (method)">#initialize</a></span>
242
+ <small>CSVDecision::ScanRow</small>
243
+ </div>
244
+ </li>
245
+
246
+
183
247
  <li class="even ">
184
248
  <div class="item">
185
- <span class='object_link'><a href="CSVDecision/Table.html#initialize-instance_method" title="CSVDecision::Table#initialize (method)">#initialize</a></span>
186
- <small>CSVDecision::Table</small>
249
+ <span class='object_link'><a href="CSVDecision/Result.html#initialize-instance_method" title="CSVDecision::Result#initialize (method)">#initialize</a></span>
250
+ <small>CSVDecision::Result</small>
187
251
  </div>
188
252
  </li>
189
253
 
190
254
 
191
255
  <li class="odd ">
192
256
  <div class="item">
193
- <span class='object_link'><a href="CSVDecision/Matchers/Function.html#initialize-instance_method" title="CSVDecision::Matchers::Function#initialize (method)">#initialize</a></span>
194
- <small>CSVDecision::Matchers::Function</small>
257
+ <span class='object_link'><a href="CSVDecision/Matchers/Pattern.html#initialize-instance_method" title="CSVDecision::Matchers::Pattern#initialize (method)">#initialize</a></span>
258
+ <small>CSVDecision::Matchers::Pattern</small>
195
259
  </div>
196
260
  </li>
197
261
 
@@ -214,24 +278,24 @@
214
278
 
215
279
  <li class="even ">
216
280
  <div class="item">
217
- <span class='object_link'><a href="CSVDecision/Data.html#input_file%3F-class_method" title="CSVDecision::Data.input_file? (method)">input_file?</a></span>
218
- <small>CSVDecision::Data</small>
281
+ <span class='object_link'><a href="CSVDecision/Columns/Dictionary.html#initialize-instance_method" title="CSVDecision::Columns::Dictionary#initialize (method)">#initialize</a></span>
282
+ <small>CSVDecision::Columns::Dictionary</small>
219
283
  </div>
220
284
  </li>
221
285
 
222
286
 
223
287
  <li class="odd ">
224
288
  <div class="item">
225
- <span class='object_link'><a href="CSVDecision/Columns.html#ins-instance_method" title="CSVDecision::Columns#ins (method)">#ins</a></span>
226
- <small>CSVDecision::Columns</small>
289
+ <span class='object_link'><a href="CSVDecision/Table.html#initialize-instance_method" title="CSVDecision::Table#initialize (method)">#initialize</a></span>
290
+ <small>CSVDecision::Table</small>
227
291
  </div>
228
292
  </li>
229
293
 
230
294
 
231
295
  <li class="even ">
232
296
  <div class="item">
233
- <span class='object_link'><a href="CSVDecision/Columns/Dictionary.html#ins-instance_method" title="CSVDecision::Columns::Dictionary#ins (method)">#ins</a></span>
234
- <small>CSVDecision::Columns::Dictionary</small>
297
+ <span class='object_link'><a href="CSVDecision/Data.html#input_file%3F-class_method" title="CSVDecision::Data.input_file? (method)">input_file?</a></span>
298
+ <small>CSVDecision::Data</small>
235
299
  </div>
236
300
  </li>
237
301
 
@@ -246,8 +310,24 @@
246
310
 
247
311
  <li class="even ">
248
312
  <div class="item">
249
- <span class='object_link'><a href="CSVDecision/Columns/Entry.html#ins%3F-instance_method" title="CSVDecision::Columns::Entry#ins? (method)">#ins?</a></span>
250
- <small>CSVDecision::Columns::Entry</small>
313
+ <span class='object_link'><a href="CSVDecision/Columns.html#ins-instance_method" title="CSVDecision::Columns#ins (method)">#ins</a></span>
314
+ <small>CSVDecision::Columns</small>
315
+ </div>
316
+ </li>
317
+
318
+
319
+ <li class="odd ">
320
+ <div class="item">
321
+ <span class='object_link'><a href="CSVDecision/Columns/Dictionary.html#ins-instance_method" title="CSVDecision::Columns::Dictionary#ins (method)">#ins</a></span>
322
+ <small>CSVDecision::Columns::Dictionary</small>
323
+ </div>
324
+ </li>
325
+
326
+
327
+ <li class="even ">
328
+ <div class="item">
329
+ <span class='object_link'><a href="CSVDecision/Dictionary/Entry.html#ins%3F-instance_method" title="CSVDecision::Dictionary::Entry#ins? (method)">#ins?</a></span>
330
+ <small>CSVDecision::Dictionary::Entry</small>
251
331
  </div>
252
332
  </li>
253
333
 
@@ -414,13 +494,21 @@
414
494
 
415
495
  <li class="odd ">
416
496
  <div class="item">
417
- <span class='object_link'><a href="CSVDecision/Columns/Entry.html#name-instance_method" title="CSVDecision::Columns::Entry#name (method)">#name</a></span>
418
- <small>CSVDecision::Columns::Entry</small>
497
+ <span class='object_link'><a href="CSVDecision/Result.html#multi_result-instance_method" title="CSVDecision::Result#multi_result (method)">#multi_result</a></span>
498
+ <small>CSVDecision::Result</small>
419
499
  </div>
420
500
  </li>
421
501
 
422
502
 
423
503
  <li class="even ">
504
+ <div class="item">
505
+ <span class='object_link'><a href="CSVDecision/Dictionary/Entry.html#name-instance_method" title="CSVDecision::Dictionary::Entry#name (method)">#name</a></span>
506
+ <small>CSVDecision::Dictionary::Entry</small>
507
+ </div>
508
+ </li>
509
+
510
+
511
+ <li class="odd ">
424
512
  <div class="item">
425
513
  <span class='object_link'><a href="CSVDecision/Options.html#normalize-class_method" title="CSVDecision::Options.normalize (method)">normalize</a></span>
426
514
  <small>CSVDecision::Options</small>
@@ -428,7 +516,7 @@
428
516
  </li>
429
517
 
430
518
 
431
- <li class="odd ">
519
+ <li class="even ">
432
520
  <div class="item">
433
521
  <span class='object_link'><a href="CSVDecision/Matchers.html#normalize_operator-class_method" title="CSVDecision::Matchers.normalize_operator (method)">normalize_operator</a></span>
434
522
  <small>CSVDecision::Matchers</small>
@@ -436,7 +524,7 @@
436
524
  </li>
437
525
 
438
526
 
439
- <li class="even ">
527
+ <li class="odd ">
440
528
  <div class="item">
441
529
  <span class='object_link'><a href="CSVDecision/Matchers.html#numeric-class_method" title="CSVDecision::Matchers.numeric (method)">numeric</a></span>
442
530
  <small>CSVDecision::Matchers</small>
@@ -444,7 +532,7 @@
444
532
  </li>
445
533
 
446
534
 
447
- <li class="odd ">
535
+ <li class="even ">
448
536
  <div class="item">
449
537
  <span class='object_link'><a href="CSVDecision/Matchers.html#numeric%3F-class_method" title="CSVDecision::Matchers.numeric? (method)">numeric?</a></span>
450
538
  <small>CSVDecision::Matchers</small>
@@ -452,7 +540,7 @@
452
540
  </li>
453
541
 
454
542
 
455
- <li class="even ">
543
+ <li class="odd ">
456
544
  <div class="item">
457
545
  <span class='object_link'><a href="CSVDecision/Table.html#options-instance_method" title="CSVDecision::Table#options (method)">#options</a></span>
458
546
  <small>CSVDecision::Table</small>
@@ -460,7 +548,7 @@
460
548
  </li>
461
549
 
462
550
 
463
- <li class="odd ">
551
+ <li class="even ">
464
552
  <div class="item">
465
553
  <span class='object_link'><a href="CSVDecision/Columns.html#outs-instance_method" title="CSVDecision::Columns#outs (method)">#outs</a></span>
466
554
  <small>CSVDecision::Columns</small>
@@ -468,7 +556,7 @@
468
556
  </li>
469
557
 
470
558
 
471
- <li class="even ">
559
+ <li class="odd ">
472
560
  <div class="item">
473
561
  <span class='object_link'><a href="CSVDecision/Matchers.html#outs-instance_method" title="CSVDecision::Matchers#outs (method)">#outs</a></span>
474
562
  <small>CSVDecision::Matchers</small>
@@ -476,7 +564,7 @@
476
564
  </li>
477
565
 
478
566
 
479
- <li class="odd ">
567
+ <li class="even ">
480
568
  <div class="item">
481
569
  <span class='object_link'><a href="CSVDecision/Columns/Dictionary.html#outs-instance_method" title="CSVDecision::Columns::Dictionary#outs (method)">#outs</a></span>
482
570
  <small>CSVDecision::Columns::Dictionary</small>
@@ -484,23 +572,23 @@
484
572
  </li>
485
573
 
486
574
 
487
- <li class="even ">
575
+ <li class="odd ">
488
576
  <div class="item">
489
- <span class='object_link'><a href="CSVDecision/Matchers/Matcher.html#outs%3F-instance_method" title="CSVDecision::Matchers::Matcher#outs? (method)">#outs?</a></span>
490
- <small>CSVDecision::Matchers::Matcher</small>
577
+ <span class='object_link'><a href="CSVDecision/Matchers/Guard.html#outs%3F-instance_method" title="CSVDecision::Matchers::Guard#outs? (method)">#outs?</a></span>
578
+ <small>CSVDecision::Matchers::Guard</small>
491
579
  </div>
492
580
  </li>
493
581
 
494
582
 
495
- <li class="odd ">
583
+ <li class="even ">
496
584
  <div class="item">
497
- <span class='object_link'><a href="CSVDecision/Matchers/Guard.html#outs%3F-instance_method" title="CSVDecision::Matchers::Guard#outs? (method)">#outs?</a></span>
498
- <small>CSVDecision::Matchers::Guard</small>
585
+ <span class='object_link'><a href="CSVDecision/Matchers/Matcher.html#outs%3F-instance_method" title="CSVDecision::Matchers::Matcher#outs? (method)">#outs?</a></span>
586
+ <small>CSVDecision::Matchers::Matcher</small>
499
587
  </div>
500
588
  </li>
501
589
 
502
590
 
503
- <li class="even ">
591
+ <li class="odd ">
504
592
  <div class="item">
505
593
  <span class='object_link'><a href="CSVDecision/Matchers/Constant.html#outs%3F-instance_method" title="CSVDecision::Matchers::Constant#outs? (method)">#outs?</a></span>
506
594
  <small>CSVDecision::Matchers::Constant</small>
@@ -508,7 +596,7 @@
508
596
  </li>
509
597
 
510
598
 
511
- <li class="odd ">
599
+ <li class="even ">
512
600
  <div class="item">
513
601
  <span class='object_link'><a href="CSVDecision/Table.html#outs_functions-instance_method" title="CSVDecision::Table#outs_functions (method)">#outs_functions</a></span>
514
602
  <small>CSVDecision::Table</small>
@@ -516,7 +604,7 @@
516
604
  </li>
517
605
 
518
606
 
519
- <li class="even ">
607
+ <li class="odd ">
520
608
  <div class="item">
521
609
  <span class='object_link'><a href="CSVDecision/Table.html#outs_rows-instance_method" title="CSVDecision::Table#outs_rows (method)">#outs_rows</a></span>
522
610
  <small>CSVDecision::Table</small>
@@ -524,7 +612,7 @@
524
612
  </li>
525
613
 
526
614
 
527
- <li class="odd ">
615
+ <li class="even ">
528
616
  <div class="item">
529
617
  <span class='object_link'><a href="CSVDecision/Matchers.html#parse-class_method" title="CSVDecision::Matchers.parse (method)">parse</a></span>
530
618
  <small>CSVDecision::Matchers</small>
@@ -532,7 +620,7 @@
532
620
  </li>
533
621
 
534
622
 
535
- <li class="even ">
623
+ <li class="odd ">
536
624
  <div class="item">
537
625
  <span class='object_link'><a href="CSVDecision.html#parse-class_method" title="CSVDecision.parse (method)">parse</a></span>
538
626
  <small>CSVDecision</small>
@@ -540,7 +628,7 @@
540
628
  </li>
541
629
 
542
630
 
543
- <li class="odd ">
631
+ <li class="even ">
544
632
  <div class="item">
545
633
  <span class='object_link'><a href="CSVDecision/Input.html#parse-class_method" title="CSVDecision::Input.parse (method)">parse</a></span>
546
634
  <small>CSVDecision::Input</small>
@@ -548,7 +636,7 @@
548
636
  </li>
549
637
 
550
638
 
551
- <li class="even ">
639
+ <li class="odd ">
552
640
  <div class="item">
553
641
  <span class='object_link'><a href="CSVDecision/Matchers.html#parse_ins-instance_method" title="CSVDecision::Matchers#parse_ins (method)">#parse_ins</a></span>
554
642
  <small>CSVDecision::Matchers</small>
@@ -556,7 +644,7 @@
556
644
  </li>
557
645
 
558
646
 
559
- <li class="odd ">
647
+ <li class="even ">
560
648
  <div class="item">
561
649
  <span class='object_link'><a href="CSVDecision/Matchers.html#parse_outs-instance_method" title="CSVDecision::Matchers#parse_outs (method)">#parse_outs</a></span>
562
650
  <small>CSVDecision::Matchers</small>
@@ -564,7 +652,7 @@
564
652
  </li>
565
653
 
566
654
 
567
- <li class="even ">
655
+ <li class="odd ">
568
656
  <div class="item">
569
657
  <span class='object_link'><a href="CSVDecision/Load.html#path-class_method" title="CSVDecision::Load.path (method)">path</a></span>
570
658
  <small>CSVDecision::Load</small>
@@ -572,7 +660,7 @@
572
660
  </li>
573
661
 
574
662
 
575
- <li class="odd ">
663
+ <li class="even ">
576
664
  <div class="item">
577
665
  <span class='object_link'><a href="CSVDecision/ScanRow.html#procs-instance_method" title="CSVDecision::ScanRow#procs (method)">#procs</a></span>
578
666
  <small>CSVDecision::ScanRow</small>
@@ -580,7 +668,7 @@
580
668
  </li>
581
669
 
582
670
 
583
- <li class="even ">
671
+ <li class="odd ">
584
672
  <div class="item">
585
673
  <span class='object_link'><a href="CSVDecision/Matchers.html#regexp-class_method" title="CSVDecision::Matchers.regexp (method)">regexp</a></span>
586
674
  <small>CSVDecision::Matchers</small>
@@ -588,6 +676,14 @@
588
676
  </li>
589
677
 
590
678
 
679
+ <li class="even ">
680
+ <div class="item">
681
+ <span class='object_link'><a href="CSVDecision/Matchers/Guard.html#regexp_match-class_method" title="CSVDecision::Matchers::Guard.regexp_match (method)">regexp_match</a></span>
682
+ <small>CSVDecision::Matchers::Guard</small>
683
+ </div>
684
+ </li>
685
+
686
+
591
687
  <li class="odd ">
592
688
  <div class="item">
593
689
  <span class='object_link'><a href="CSVDecision.html#root-class_method" title="CSVDecision.root (method)">root</a></span>
@@ -694,8 +790,8 @@
694
790
 
695
791
  <li class="even ">
696
792
  <div class="item">
697
- <span class='object_link'><a href="CSVDecision/Columns/Entry.html#type-instance_method" title="CSVDecision::Columns::Entry#type (method)">#type</a></span>
698
- <small>CSVDecision::Columns::Entry</small>
793
+ <span class='object_link'><a href="CSVDecision/Dictionary/Entry.html#type-instance_method" title="CSVDecision::Dictionary::Entry#type (method)">#type</a></span>
794
+ <small>CSVDecision::Dictionary::Entry</small>
699
795
  </div>
700
796
  </li>
701
797
 
@@ -100,9 +100,9 @@
100
100
  </div>
101
101
 
102
102
  <div id="footer">
103
- Generated on Sat Dec 30 13:04:04 2017 by
103
+ Generated on Fri Jan 5 21:43:59 2018 by
104
104
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
105
- 0.9.12 (ruby-2.3.0).
105
+ 0.9.12 (ruby-2.4.0).
106
106
  </div>
107
107
 
108
108
  </div>
@@ -8,13 +8,6 @@ module CSVDecision
8
8
  # Dictionary of all this table's columns - inputs, outputs etc.
9
9
  # @api private
10
10
  class Columns
11
- # Value object to hold column dictionary entries.
12
- Entry = Struct.new(:name, :eval, :type) do
13
- def ins?
14
- %i[in guard].member?(type) ? true : false
15
- end
16
- end
17
-
18
11
  # TODO: Value object used for any columns with defaults
19
12
  # Default = Struct.new(:name, :function, :default_if)
20
13
 
@@ -88,7 +81,7 @@ module CSVDecision
88
81
  row = Header.strip_empty_columns(rows: table.rows)
89
82
 
90
83
  # Build a dictionary of all valid data columns from the header row.
91
- @dictionary = Header.dictionary(row: row) if row
84
+ @dictionary = CSVDecision::Dictionary.build(header: row, dictionary: Dictionary.new) if row
92
85
 
93
86
  freeze
94
87
  end