csv_decision 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/README.md +26 -2
  4. data/csv_decision.gemspec +1 -1
  5. data/doc/CSVDecision/CellValidationError.html +2 -2
  6. data/doc/CSVDecision/Columns/Default.html +203 -23
  7. data/doc/CSVDecision/Columns/Dictionary.html +118 -25
  8. data/doc/CSVDecision/Columns.html +213 -31
  9. data/doc/CSVDecision/Data.html +1 -1
  10. data/doc/CSVDecision/Decide.html +1 -1
  11. data/doc/CSVDecision/Decision.html +1 -1
  12. data/doc/CSVDecision/Defaults.html +291 -0
  13. data/doc/CSVDecision/Dictionary/Entry.html +584 -47
  14. data/doc/CSVDecision/Dictionary.html +20 -20
  15. data/doc/CSVDecision/Error.html +2 -2
  16. data/doc/CSVDecision/FileError.html +1 -1
  17. data/doc/CSVDecision/Header.html +110 -33
  18. data/doc/CSVDecision/Input.html +1 -1
  19. data/doc/CSVDecision/Load.html +1 -1
  20. data/doc/CSVDecision/Matchers/Constant.html +12 -37
  21. data/doc/CSVDecision/Matchers/Function.html +1 -1
  22. data/doc/CSVDecision/Matchers/Guard.html +15 -13
  23. data/doc/CSVDecision/Matchers/Matcher.html +1 -1
  24. data/doc/CSVDecision/Matchers/Numeric.html +13 -21
  25. data/doc/CSVDecision/Matchers/Pattern.html +14 -14
  26. data/doc/CSVDecision/Matchers/Proc.html +1 -1
  27. data/doc/CSVDecision/Matchers/Range.html +13 -58
  28. data/doc/CSVDecision/Matchers/Symbol.html +1 -1
  29. data/doc/CSVDecision/Matchers.html +9 -9
  30. data/doc/CSVDecision/Options.html +1 -1
  31. data/doc/CSVDecision/Parse.html +90 -19
  32. data/doc/CSVDecision/Result.html +1 -1
  33. data/doc/CSVDecision/ScanRow.html +17 -17
  34. data/doc/CSVDecision/Table.html +50 -48
  35. data/doc/CSVDecision/TableValidationError.html +143 -0
  36. data/doc/CSVDecision/Validate.html +422 -0
  37. data/doc/CSVDecision.html +8 -8
  38. data/doc/_index.html +33 -1
  39. data/doc/class_list.html +1 -1
  40. data/doc/file.README.html +27 -3
  41. data/doc/index.html +27 -3
  42. data/doc/method_list.html +193 -89
  43. data/doc/top-level-namespace.html +1 -1
  44. data/lib/csv_decision/columns.rb +28 -27
  45. data/lib/csv_decision/defaults.rb +47 -0
  46. data/lib/csv_decision/dictionary.rb +104 -112
  47. data/lib/csv_decision/header.rb +13 -10
  48. data/lib/csv_decision/input.rb +53 -5
  49. data/lib/csv_decision/matchers/constant.rb +1 -2
  50. data/lib/csv_decision/matchers/guard.rb +3 -2
  51. data/lib/csv_decision/matchers/numeric.rb +4 -6
  52. data/lib/csv_decision/matchers/pattern.rb +6 -8
  53. data/lib/csv_decision/matchers/range.rb +1 -3
  54. data/lib/csv_decision/matchers.rb +7 -7
  55. data/lib/csv_decision/parse.rb +24 -3
  56. data/lib/csv_decision/scan_row.rb +16 -16
  57. data/lib/csv_decision/table.rb +3 -7
  58. data/lib/csv_decision/validate.rb +85 -0
  59. data/lib/csv_decision.rb +3 -1
  60. data/spec/csv_decision/columns_spec.rb +38 -22
  61. data/spec/csv_decision/examples_spec.rb +17 -0
  62. data/spec/csv_decision/matchers/range_spec.rb +0 -32
  63. data/spec/csv_decision/table_spec.rb +39 -0
  64. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cb4d2ffd07c2aac31b030fd68f0a1e01150ef6c7
4
- data.tar.gz: ce4aea2ef63a88aeaf20f74c5c5f06840a1d301b
3
+ metadata.gz: 67d87d1568c8a9427eca158d72473cceab9ea0cc
4
+ data.tar.gz: acaf91742be83cdee27cad0135feed854bff8f4d
5
5
  SHA512:
6
- metadata.gz: f1ae251c6bf929f1066f3b72d67b3c992c605ecc7f26ff5938c7c4309ea785b3c373d9b6851dd1d527af5b986fd2dc7e3e7a608002d49659abb9837345056fca
7
- data.tar.gz: d5d33bf46c8e02f0178e03c4dcd61b1cff7cf5dfe0c6c0885b9535721a573dee3a1de232d09ca80efa748bc80ca4ebe6b48bb12a8d5358be81e3a574579be85f
6
+ metadata.gz: 983a199ab2f592b3b78fb6cef1b95e0af0a45aaaca9f352d7ff22a7e7b5ade08268d6efb41530a137fbd00c77516e9d12f3d21e66c6901ea927611600c1d2c7a
7
+ data.tar.gz: a75924ebd838c43be4c876e52332bccb1b57be3ecd719c9a81283bc449a14174294f90df64e08db2f50df463920f42ffeec5a8ec148106c589332336d0bfee34
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## v0.2.0, January 2018.
2
+ *Additions*
3
+ - Set values in the input hash either as a default or unconditionally.
4
+
1
5
  ## v0.1.0, 5 January 2018.
2
6
  *Additions*
3
7
  - Implement more checks on output columns that are duplicated or
data/README.md CHANGED
@@ -198,7 +198,7 @@ may be simplified to:
198
198
  These comparison operators are also supported: `!=`, `>`, `>=`, `<`, `<=`.
199
199
  For more simple examples see `spec/csv_decision/examples_spec.rb`.
200
200
 
201
- #### Input guard conditions
201
+ #### Input `guard` conditions
202
202
  Sometimes it's more convenient to write guard expressions in a single column specialized for that purpose.
203
203
  For example:
204
204
 
@@ -222,7 +222,7 @@ Input `guard:` columns may be anonymous, and must contain non-constant expressio
222
222
  0-arity Ruby methods, the following comparison operators are allowed: `==`, `!=`,
223
223
  `>`, `>=`, `<` and `<=`. Also, regular expressions are supported - i.e., `=~` and `!~`.
224
224
 
225
- #### Output if conditions
225
+ #### Output `if` conditions
226
226
  In some situations it is useful to apply filter conditions *after* all the output
227
227
  columns have been derived. For example:
228
228
 
@@ -245,6 +245,30 @@ Output `if:` columns may be anonymous, and must contain non-constant expressions
245
245
  0-arity Ruby methods, the following comparison operators are allowed: `==`, `!=`,
246
246
  `>`, `>=`, `<` and `<=`. Also, regular expressions are supported - i.e., `=~` and `!~`.
247
247
 
248
+ #### Input `set` columns
249
+
250
+ If you wish to set default values in the input hash, you can use a `set` column rather
251
+ than an `in` column. The data row beneath the header is used to specify the default expression.
252
+ There are three variations: `set` (unconditional default) `set/nil?`(set if `nil?` true)
253
+ and `set/blank?` (set if `blank?` true).
254
+ Note that the `decide!` method will mutate the input hash.
255
+
256
+ ```ruby
257
+ data = <<~DATA
258
+ set/nil? :country, guard:, set: class, out :PAID, out: len, if:
259
+ US, , :class.upcase,
260
+ US, :CUSIP.present?, != PRIVATE, :CUSIP, :PAID.length, :len == 9
261
+ !=US, :ISIN.present?, != PRIVATE, :ISIN, :PAID.length, :len == 12
262
+ US, :CUSIP.present?, PRIVATE, :CUSIP, :PAID.length,
263
+ !=US, :ISIN.present?, PRIVATE, :ISIN, :PAID.length,
264
+ DATA
265
+
266
+ table = CSVDecision.parse(data)
267
+ table.decide(CUSIP: '1234567890', class: 'Private') #=> {PAID: '1234567890', len: 10}
268
+ table.decide(ISIN: '123456789012', country: 'GB', class: 'private') #=> {PAID: '123456789012', len: 12}
269
+
270
+ ```
271
+
248
272
  ### Testing
249
273
 
250
274
  `csv_decision` includes thorough [RSpec](http://rspec.info) tests:
data/csv_decision.gemspec CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = 'csv_decision'
8
- spec.version = '0.1.0'
8
+ spec.version = '0.2.0'
9
9
  spec.authors = ['Brett Vickers']
10
10
  spec.email = ['brett@phillips-vickers.com']
11
11
  spec.description = 'CSV based Ruby decision tables.'
@@ -106,7 +106,7 @@
106
106
  <h2>Overview</h2><div class="docstring">
107
107
  <div class="discussion">
108
108
 
109
- <p>Error validating a cell when parsing input table data.</p>
109
+ <p>Error validating a cell when parsing input table cell data.</p>
110
110
 
111
111
 
112
112
  </div>
@@ -133,7 +133,7 @@
133
133
  </div>
134
134
 
135
135
  <div id="footer">
136
- Generated on Sat Jan 6 20:03:01 2018 by
136
+ Generated on Sat Jan 13 10:02:46 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>
@@ -62,7 +62,7 @@
62
62
  <div id="content"><h1>Class: CSVDecision::Columns::Default
63
63
 
64
64
 
65
-
65
+ <span class="private note title">Private</span>
66
66
  </h1>
67
67
  <div class="box_info">
68
68
 
@@ -103,8 +103,12 @@
103
103
 
104
104
  <h2>Overview</h2><div class="docstring">
105
105
  <div class="discussion">
106
-
107
- <p>Value object used for any columns with defaults</p>
106
+ <p class="note private">
107
+ <strong>This class is part of a private API.</strong>
108
+ You should avoid using this class if possible, as it may be removed or be changed in the future.
109
+ </p>
110
+
111
+ <p>Value object used for any columns with defaults.</p>
108
112
 
109
113
 
110
114
  </div>
@@ -122,7 +126,7 @@
122
126
  <li class="public ">
123
127
  <span class="summary_signature">
124
128
 
125
- <a href="#default_if-instance_method" title="#default_if (instance method)">#<strong>default_if</strong> &#x21d2; Object </a>
129
+ <a href="#eval-instance_method" title="#eval (instance method)">#<strong>eval</strong> &#x21d2; Object </a>
126
130
 
127
131
 
128
132
 
@@ -140,7 +144,7 @@
140
144
 
141
145
 
142
146
  <span class="summary_desc"><div class='inline'>
143
- <p>Returns the value of attribute default_if.</p>
147
+ <p>Returns the value of attribute eval.</p>
144
148
  </div></span>
145
149
 
146
150
  </li>
@@ -197,6 +201,60 @@
197
201
  <p>Returns the value of attribute name.</p>
198
202
  </div></span>
199
203
 
204
+ </li>
205
+
206
+
207
+ <li class="public ">
208
+ <span class="summary_signature">
209
+
210
+ <a href="#set_if-instance_method" title="#set_if (instance method)">#<strong>set_if</strong> &#x21d2; Object </a>
211
+
212
+
213
+
214
+ </span>
215
+
216
+
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+ <span class="summary_desc"><div class='inline'>
228
+ <p>Returns the value of attribute set_if.</p>
229
+ </div></span>
230
+
231
+ </li>
232
+
233
+
234
+ <li class="public ">
235
+ <span class="summary_signature">
236
+
237
+ <a href="#type-instance_method" title="#type (instance method)">#<strong>type</strong> &#x21d2; Object </a>
238
+
239
+
240
+
241
+ </span>
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+ <span class="summary_desc"><div class='inline'>
255
+ <p>Returns the value of attribute type.</p>
256
+ </div></span>
257
+
200
258
  </li>
201
259
 
202
260
 
@@ -211,11 +269,11 @@
211
269
  <h2>Instance Attribute Details</h2>
212
270
 
213
271
 
214
- <span id="default_if=-instance_method"></span>
272
+ <span id="eval=-instance_method"></span>
215
273
  <div class="method_details first">
216
- <h3 class="signature first" id="default_if-instance_method">
274
+ <h3 class="signature first" id="eval-instance_method">
217
275
 
218
- #<strong>default_if</strong> &#x21d2; <tt>Object</tt>
276
+ #<strong>eval</strong> &#x21d2; <tt>Object</tt>
219
277
 
220
278
 
221
279
 
@@ -224,7 +282,7 @@
224
282
  </h3><div class="docstring">
225
283
  <div class="discussion">
226
284
 
227
- <p>Returns the value of attribute default_if</p>
285
+ <p>Returns the value of attribute eval</p>
228
286
 
229
287
 
230
288
  </div>
@@ -243,7 +301,7 @@
243
301
 
244
302
  &mdash;
245
303
  <div class='inline'>
246
- <p>the current value of default_if</p>
304
+ <p>the current value of eval</p>
247
305
  </div>
248
306
 
249
307
  </li>
@@ -256,15 +314,15 @@
256
314
  <pre class="lines">
257
315
 
258
316
 
317
+ 12
259
318
  13
260
- 14
261
- 15</pre>
319
+ 14</pre>
262
320
  </td>
263
321
  <td>
264
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 13</span>
322
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 12</span>
265
323
 
266
- <span class='kw'>def</span> <span class='id identifier rubyid_default_if'>default_if</span>
267
- <span class='ivar'>@default_if</span>
324
+ <span class='kw'>def</span> <span class='id identifier rubyid_eval'>eval</span>
325
+ <span class='ivar'>@eval</span>
268
326
  <span class='kw'>end</span></pre>
269
327
  </td>
270
328
  </tr>
@@ -317,12 +375,12 @@
317
375
  <pre class="lines">
318
376
 
319
377
 
378
+ 12
320
379
  13
321
- 14
322
- 15</pre>
380
+ 14</pre>
323
381
  </td>
324
382
  <td>
325
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 13</span>
383
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 12</span>
326
384
 
327
385
  <span class='kw'>def</span> <span class='id identifier rubyid_function'>function</span>
328
386
  <span class='ivar'>@function</span>
@@ -378,12 +436,12 @@
378
436
  <pre class="lines">
379
437
 
380
438
 
439
+ 12
381
440
  13
382
- 14
383
- 15</pre>
441
+ 14</pre>
384
442
  </td>
385
443
  <td>
386
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 13</span>
444
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 12</span>
387
445
 
388
446
  <span class='kw'>def</span> <span class='id identifier rubyid_name'>name</span>
389
447
  <span class='ivar'>@name</span>
@@ -393,15 +451,137 @@
393
451
  </table>
394
452
  </div>
395
453
 
454
+
455
+ <span id="set_if=-instance_method"></span>
456
+ <div class="method_details ">
457
+ <h3 class="signature " id="set_if-instance_method">
458
+
459
+ #<strong>set_if</strong> &#x21d2; <tt>Object</tt>
460
+
461
+
462
+
463
+
464
+
465
+ </h3><div class="docstring">
466
+ <div class="discussion">
467
+
468
+ <p>Returns the value of attribute set_if</p>
469
+
470
+
471
+ </div>
472
+ </div>
473
+ <div class="tags">
474
+
475
+ <p class="tag_title">Returns:</p>
476
+ <ul class="return">
477
+
478
+ <li>
479
+
480
+
481
+ <span class='type'>(<tt>Object</tt>)</span>
482
+
483
+
484
+
485
+ &mdash;
486
+ <div class='inline'>
487
+ <p>the current value of set_if</p>
488
+ </div>
489
+
490
+ </li>
491
+
492
+ </ul>
493
+
494
+ </div><table class="source_code">
495
+ <tr>
496
+ <td>
497
+ <pre class="lines">
498
+
499
+
500
+ 12
501
+ 13
502
+ 14</pre>
503
+ </td>
504
+ <td>
505
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 12</span>
506
+
507
+ <span class='kw'>def</span> <span class='id identifier rubyid_set_if'>set_if</span>
508
+ <span class='ivar'>@set_if</span>
509
+ <span class='kw'>end</span></pre>
510
+ </td>
511
+ </tr>
512
+ </table>
513
+ </div>
514
+
515
+
516
+ <span id="type=-instance_method"></span>
517
+ <div class="method_details ">
518
+ <h3 class="signature " id="type-instance_method">
519
+
520
+ #<strong>type</strong> &#x21d2; <tt>Object</tt>
521
+
522
+
523
+
524
+
525
+
526
+ </h3><div class="docstring">
527
+ <div class="discussion">
528
+
529
+ <p>Returns the value of attribute type</p>
530
+
531
+
532
+ </div>
533
+ </div>
534
+ <div class="tags">
535
+
536
+ <p class="tag_title">Returns:</p>
537
+ <ul class="return">
538
+
539
+ <li>
540
+
541
+
542
+ <span class='type'>(<tt>Object</tt>)</span>
543
+
544
+
545
+
546
+ &mdash;
547
+ <div class='inline'>
548
+ <p>the current value of type</p>
549
+ </div>
550
+
551
+ </li>
552
+
553
+ </ul>
554
+
555
+ </div><table class="source_code">
556
+ <tr>
557
+ <td>
558
+ <pre class="lines">
559
+
560
+
561
+ 12
562
+ 13
563
+ 14</pre>
564
+ </td>
565
+ <td>
566
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 12</span>
567
+
568
+ <span class='kw'>def</span> <span class='id identifier rubyid_type'>type</span>
569
+ <span class='ivar'>@type</span>
570
+ <span class='kw'>end</span></pre>
571
+ </td>
572
+ </tr>
573
+ </table>
574
+ </div>
575
+
396
576
  </div>
397
577
 
398
578
 
399
579
  </div>
400
580
 
401
581
  <div id="footer">
402
- Generated on Tue Dec 26 15:19:37 2017 by
582
+ Generated on Sun Jan 7 14:53:45 2018 by
403
583
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
404
- 0.9.12 (ruby-2.3.0).
584
+ 0.9.12 (ruby-2.4.0).
405
585
  </div>
406
586
 
407
587
  </div>
@@ -106,9 +106,11 @@
106
106
  You should avoid using this class if possible, as it may be removed or be changed in the future.
107
107
  </p>
108
108
 
109
- <p>Dictionary of all data columns. The key of each hash is the header
110
- cell&#39;s array column index. Note that input and output columns can be
111
- interspersed and need not have unique names.</p>
109
+ <p>Dictionary of all table data columns. The key of each hash is the header
110
+ cell&#39;s array column index. Note that input and output columns may be
111
+ interspersed, and multiple input columns may refer to the same input hash
112
+ key symbol. However, output columns must have unique symbols, which cannot
113
+ overlap with input column symbols.</p>
112
114
 
113
115
 
114
116
  </div>
@@ -147,6 +149,33 @@ interspersed and need not have unique names.</p>
147
149
  <p>All column names.</p>
148
150
  </div></span>
149
151
 
152
+ </li>
153
+
154
+
155
+ <li class="public ">
156
+ <span class="summary_signature">
157
+
158
+ <a href="#defaults-instance_method" title="#defaults (instance method)">#<strong>defaults</strong> &#x21d2; Hash{Integer=&gt;Entry} </a>
159
+
160
+
161
+
162
+ </span>
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+ <span class="private note title">private</span>
173
+
174
+
175
+ <span class="summary_desc"><div class='inline'>
176
+ <p>All defaulted input column dictionary entries.</p>
177
+ </div></span>
178
+
150
179
  </li>
151
180
 
152
181
 
@@ -264,8 +293,7 @@ interspersed and need not have unique names.</p>
264
293
 
265
294
 
266
295
  <span class="summary_desc"><div class='inline'>
267
- <p>TODO: Input columns with a default value (planned feature) attr_accessor
268
- :defaults.</p>
296
+ <p>A new instance of Dictionary.</p>
269
297
  </div></span>
270
298
 
271
299
  </li>
@@ -293,8 +321,7 @@ interspersed and need not have unique names.</p>
293
321
  You should avoid using this method if possible, as it may be removed or be changed in the future.
294
322
  </p>
295
323
 
296
- <p>TODO: Input columns with a default value (planned feature) attr_accessor
297
- :defaults</p>
324
+ <p>Returns a new instance of Dictionary</p>
298
325
 
299
326
 
300
327
  </div>
@@ -308,26 +335,24 @@ interspersed and need not have unique names.</p>
308
335
  <pre class="lines">
309
336
 
310
337
 
338
+ 35
311
339
  36
312
340
  37
313
341
  38
314
342
  39
315
343
  40
316
- 41
317
- 42
318
- 43</pre>
344
+ 41</pre>
319
345
  </td>
320
346
  <td>
321
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 36</span>
347
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 35</span>
322
348
 
323
349
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
324
350
  <span class='ivar'>@columns</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
351
+ <span class='ivar'>@defaults</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
325
352
  <span class='ivar'>@ifs</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
326
353
  <span class='ivar'>@ins</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
327
354
  <span class='ivar'>@outs</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
328
- <span class='comment'># TODO: @path = {}
329
- </span> <span class='comment'># TODO: @defaults = {}
330
- </span><span class='kw'>end</span></pre>
355
+ <span class='kw'>end</span></pre>
331
356
  </td>
332
357
  </tr>
333
358
  </table>
@@ -404,6 +429,73 @@ interspersed and need not have unique names.</p>
404
429
  </div>
405
430
 
406
431
 
432
+ <span id="defaults=-instance_method"></span>
433
+ <div class="method_details ">
434
+ <h3 class="signature " id="defaults-instance_method">
435
+
436
+ #<strong>defaults</strong> &#x21d2; <tt>Hash{Integer=&gt;Entry}</tt>
437
+
438
+
439
+
440
+
441
+
442
+ </h3><div class="docstring">
443
+ <div class="discussion">
444
+ <p class="note private">
445
+ <strong>This method is part of a private API.</strong>
446
+ You should avoid using this method if possible, as it may be removed or be changed in the future.
447
+ </p>
448
+
449
+ <p>Returns All defaulted input column dictionary entries. This is actually
450
+ just a subset of :ins.</p>
451
+
452
+
453
+ </div>
454
+ </div>
455
+ <div class="tags">
456
+
457
+ <p class="tag_title">Returns:</p>
458
+ <ul class="return">
459
+
460
+ <li>
461
+
462
+
463
+ <span class='type'>(<tt>Hash{Integer=&gt;Entry}</tt>)</span>
464
+
465
+
466
+
467
+ &mdash;
468
+ <div class='inline'>
469
+ <p>All defaulted input column dictionary entries. This is actually just a
470
+ subset of :ins.</p>
471
+ </div>
472
+
473
+ </li>
474
+
475
+ </ul>
476
+
477
+ </div><table class="source_code">
478
+ <tr>
479
+ <td>
480
+ <pre class="lines">
481
+
482
+
483
+ 26
484
+ 27
485
+ 28</pre>
486
+ </td>
487
+ <td>
488
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 26</span>
489
+
490
+ <span class='kw'>def</span> <span class='id identifier rubyid_defaults'>defaults</span>
491
+ <span class='ivar'>@defaults</span>
492
+ <span class='kw'>end</span></pre>
493
+ </td>
494
+ </tr>
495
+ </table>
496
+ </div>
497
+
498
+
407
499
  <span id="ifs=-instance_method"></span>
408
500
  <div class="method_details ">
409
501
  <h3 class="signature " id="ifs-instance_method">
@@ -421,7 +513,8 @@ interspersed and need not have unique names.</p>
421
513
  You should avoid using this method if possible, as it may be removed or be changed in the future.
422
514
  </p>
423
515
 
424
- <p>Returns All if: column dictionary entries.</p>
516
+ <p>Returns All if: column dictionary entries. This is actually just a subset
517
+ of :outs.</p>
425
518
 
426
519
 
427
520
  </div>
@@ -440,7 +533,7 @@ interspersed and need not have unique names.</p>
440
533
 
441
534
  &mdash;
442
535
  <div class='inline'>
443
- <p>All if: column dictionary entries.</p>
536
+ <p>All if: column dictionary entries. This is actually just a subset of :outs.</p>
444
537
  </div>
445
538
 
446
539
  </li>
@@ -453,12 +546,12 @@ interspersed and need not have unique names.</p>
453
546
  <pre class="lines">
454
547
 
455
548
 
456
- 28
457
- 29
458
- 30</pre>
549
+ 33
550
+ 34
551
+ 35</pre>
459
552
  </td>
460
553
  <td>
461
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 28</span>
554
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 33</span>
462
555
 
463
556
  <span class='kw'>def</span> <span class='id identifier rubyid_ifs'>ifs</span>
464
557
  <span class='ivar'>@ifs</span>
@@ -583,12 +676,12 @@ interspersed and need not have unique names.</p>
583
676
  <pre class="lines">
584
677
 
585
678
 
586
- 25
587
- 26
588
- 27</pre>
679
+ 29
680
+ 30
681
+ 31</pre>
589
682
  </td>
590
683
  <td>
591
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 25</span>
684
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 29</span>
592
685
 
593
686
  <span class='kw'>def</span> <span class='id identifier rubyid_outs'>outs</span>
594
687
  <span class='ivar'>@outs</span>
@@ -604,7 +697,7 @@ interspersed and need not have unique names.</p>
604
697
  </div>
605
698
 
606
699
  <div id="footer">
607
- Generated on Sat Jan 6 20:03:02 2018 by
700
+ Generated on Sat Jan 13 10:02:47 2018 by
608
701
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
609
702
  0.9.12 (ruby-2.4.0).
610
703
  </div>