csv_decision 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
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