csv_decision 0.0.9 → 0.1.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 (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/README.md +1 -1
  4. data/benchmarks/rufus_decision.rb +3 -5
  5. data/csv_decision.gemspec +1 -3
  6. data/doc/CSVDecision/CellValidationError.html +1 -1
  7. data/doc/CSVDecision/Columns/Dictionary.html +112 -18
  8. data/doc/CSVDecision/Columns.html +112 -81
  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/Dictionary/Entry.html +1 -1
  13. data/doc/CSVDecision/Dictionary.html +152 -7
  14. data/doc/CSVDecision/Error.html +1 -1
  15. data/doc/CSVDecision/FileError.html +1 -1
  16. data/doc/CSVDecision/Header.html +1 -1
  17. data/doc/CSVDecision/Input.html +5 -11
  18. data/doc/CSVDecision/Load.html +1 -1
  19. data/doc/CSVDecision/Matchers/Constant.html +1 -1
  20. data/doc/CSVDecision/Matchers/Function.html +1 -1
  21. data/doc/CSVDecision/Matchers/Guard.html +23 -23
  22. data/doc/CSVDecision/Matchers/Matcher.html +13 -13
  23. data/doc/CSVDecision/Matchers/Numeric.html +3 -3
  24. data/doc/CSVDecision/Matchers/Pattern.html +9 -11
  25. data/doc/CSVDecision/Matchers/Proc.html +571 -0
  26. data/doc/CSVDecision/Matchers/Range.html +1 -1
  27. data/doc/CSVDecision/Matchers/Symbol.html +1 -1
  28. data/doc/CSVDecision/Matchers.html +63 -83
  29. data/doc/CSVDecision/Options.html +1 -1
  30. data/doc/CSVDecision/Parse.html +115 -8
  31. data/doc/CSVDecision/Result.html +55 -37
  32. data/doc/CSVDecision/ScanRow.html +3 -3
  33. data/doc/CSVDecision/Table.html +5 -6
  34. data/doc/CSVDecision.html +5 -5
  35. data/doc/_index.html +12 -5
  36. data/doc/class_list.html +1 -1
  37. data/doc/file.README.html +2 -2
  38. data/doc/index.html +2 -2
  39. data/doc/method_list.html +110 -46
  40. data/doc/top-level-namespace.html +1 -1
  41. data/lib/csv_decision/columns.rb +14 -9
  42. data/lib/csv_decision/dictionary.rb +46 -21
  43. data/lib/csv_decision/input.rb +13 -6
  44. data/lib/csv_decision/matchers/constant.rb +1 -1
  45. data/lib/csv_decision/matchers/guard.rb +7 -10
  46. data/lib/csv_decision/matchers/numeric.rb +2 -2
  47. data/lib/csv_decision/matchers/pattern.rb +1 -2
  48. data/lib/csv_decision/matchers/range.rb +1 -1
  49. data/lib/csv_decision/matchers/symbol.rb +1 -1
  50. data/lib/csv_decision/matchers.rb +38 -4
  51. data/lib/csv_decision/parse.rb +100 -5
  52. data/lib/csv_decision/result.rb +23 -7
  53. data/lib/csv_decision/table.rb +2 -2
  54. data/spec/csv_decision/columns_spec.rb +89 -0
  55. data/spec/csv_decision/examples_spec.rb +23 -1
  56. data/spec/csv_decision/input_spec.rb +0 -2
  57. data/spec/csv_decision/table_spec.rb +1 -1
  58. metadata +3 -30
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4c0f396c58ab937ab442debbcde0d2944ac13599
4
- data.tar.gz: '07088b2d4829a8ff1eb64a1fa8806158657e631f'
3
+ metadata.gz: cb4d2ffd07c2aac31b030fd68f0a1e01150ef6c7
4
+ data.tar.gz: ce4aea2ef63a88aeaf20f74c5c5f06840a1d301b
5
5
  SHA512:
6
- metadata.gz: d591ec2a8bdeaa0d6ca62c1f8e650195cf612443c9a0171d8c1d0664dace315a1a71da98255ea2eee5cb10595b135fb56edfeed4e7e932002669a13dc3a5b41b
7
- data.tar.gz: 7ca7a57e7bc0bd0ff5dc8a5cf3b50da224efa2ff45e49d6f92ffcd41103c81489d787828380cb76f208465d6c414095a1ee7fc9ef787b222e18d9a96df9555a5
6
+ metadata.gz: f1ae251c6bf929f1066f3b72d67b3c992c605ecc7f26ff5938c7c4309ea785b3c373d9b6851dd1d527af5b986fd2dc7e3e7a608002d49659abb9837345056fca
7
+ data.tar.gz: d5d33bf46c8e02f0178e03c4dcd61b1cff7cf5dfe0c6c0885b9535721a573dee3a1de232d09ca80efa748bc80ca4ebe6b48bb12a8d5358be81e3a574579be85f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## v0.1.0, 5 January 2018.
2
+ *Additions*
3
+ - Implement more checks on output columns that are duplicated or
4
+ reference columns that appear after them.
5
+
1
6
  ## v0.0.9, 5 January 2018.
2
7
  *Additions*
3
8
  - Output column if: filter conditions.
data/README.md CHANGED
@@ -36,7 +36,7 @@ see `benchmarks/rufus_decision.rb`.)
36
36
  To get started, just add `csv_decision` to your `Gemfile`, and then run `bundle`:
37
37
 
38
38
  ```ruby
39
- gem 'csv_decision', '~> 0.0.1'
39
+ gem 'csv_decision', '~> 0.1'
40
40
  ```
41
41
 
42
42
  or simply
@@ -3,8 +3,6 @@
3
3
  require 'benchmark/ips'
4
4
  require 'benchmark/memory'
5
5
  require 'rufus/decision'
6
- require 'ice_nine'
7
- require 'ice_nine/core_ext/object'
8
6
 
9
7
  require_relative '../lib/csv_decision'
10
8
 
@@ -30,7 +28,7 @@ benchmarks = [
30
28
  first_match: { 'salesperson' => 'Swanson' },
31
29
  accumulate: { 'salesperson' => %w[Swanson Korolev] }
32
30
  }
33
- ].deep_freeze
31
+ ].freeze
34
32
 
35
33
  tag_width = 70
36
34
 
@@ -61,7 +59,7 @@ puts ""
61
59
  # Test expected results
62
60
  expected = first_match ? test[:first_match] : test[:accumulate]
63
61
 
64
- result = rufus_table.transform!(input)
62
+ result = rufus_table.transform(input)
65
63
 
66
64
  unless result.slice(*expected.keys).eql?(expected)
67
65
  raise "Rufus expected results check failed for test: #{name}"
@@ -81,7 +79,7 @@ puts ""
81
79
 
82
80
  GC.start
83
81
  x.report("Rufus decision (first_match: #{first_match}) - #{name}: ") do |count|
84
- count.times { rufus_table.transform!(input) }
82
+ count.times { rufus_table.transform(input) }
85
83
  end
86
84
 
87
85
  x.compare!
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.0.9'
8
+ spec.version = '0.1.0'
9
9
  spec.authors = ['Brett Vickers']
10
10
  spec.email = ['brett@phillips-vickers.com']
11
11
  spec.description = 'CSV based Ruby decision tables.'
@@ -25,8 +25,6 @@ Gem::Specification.new do |spec|
25
25
  spec.required_ruby_version = '>= 2.3.0'
26
26
 
27
27
  spec.add_dependency 'activesupport', '~> 5.1'
28
- spec.add_dependency 'ice_nine', '~> 0.11'
29
- spec.add_dependency 'values', '~> 1.8'
30
28
 
31
29
  spec.add_development_dependency 'benchmark-ips', '~> 2.7'
32
30
  spec.add_development_dependency 'benchmark-memory', '~> 0.1'
@@ -133,7 +133,7 @@
133
133
  </div>
134
134
 
135
135
  <div id="footer">
136
- Generated on Fri Jan 5 21:44:00 2018 by
136
+ Generated on Sat Jan 6 20:03:01 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>
@@ -123,6 +123,33 @@ interspersed and need not have unique names.</p>
123
123
  <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
124
124
  <ul class="summary">
125
125
 
126
+ <li class="public ">
127
+ <span class="summary_signature">
128
+
129
+ <a href="#columns-instance_method" title="#columns (instance method)">#<strong>columns</strong> &#x21d2; Hash{Integer=&gt;Entry} </a>
130
+
131
+
132
+
133
+ </span>
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+ <span class="private note title">private</span>
144
+
145
+
146
+ <span class="summary_desc"><div class='inline'>
147
+ <p>All column names.</p>
148
+ </div></span>
149
+
150
+ </li>
151
+
152
+
126
153
  <li class="public ">
127
154
  <span class="summary_signature">
128
155
 
@@ -144,7 +171,7 @@ interspersed and need not have unique names.</p>
144
171
 
145
172
 
146
173
  <span class="summary_desc"><div class='inline'>
147
- <p>if: columns.</p>
174
+ <p>All if: column dictionary entries.</p>
148
175
  </div></span>
149
176
 
150
177
  </li>
@@ -171,7 +198,7 @@ interspersed and need not have unique names.</p>
171
198
 
172
199
 
173
200
  <span class="summary_desc"><div class='inline'>
174
- <p>Input columns.</p>
201
+ <p>All input column dictionary entries.</p>
175
202
  </div></span>
176
203
 
177
204
  </li>
@@ -198,7 +225,7 @@ interspersed and need not have unique names.</p>
198
225
 
199
226
 
200
227
  <span class="summary_desc"><div class='inline'>
201
- <p>Output columns.</p>
228
+ <p>All output column dictionary entries.</p>
202
229
  </div></span>
203
230
 
204
231
  </li>
@@ -287,15 +314,17 @@ interspersed and need not have unique names.</p>
287
314
  39
288
315
  40
289
316
  41
290
- 42</pre>
317
+ 42
318
+ 43</pre>
291
319
  </td>
292
320
  <td>
293
321
  <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 36</span>
294
322
 
295
323
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span>
324
+ <span class='ivar'>@columns</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
325
+ <span class='ivar'>@ifs</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
296
326
  <span class='ivar'>@ins</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
297
327
  <span class='ivar'>@outs</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
298
- <span class='ivar'>@ifs</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
299
328
  <span class='comment'># TODO: @path = {}
300
329
  </span> <span class='comment'># TODO: @defaults = {}
301
330
  </span><span class='kw'>end</span></pre>
@@ -310,9 +339,74 @@ interspersed and need not have unique names.</p>
310
339
  <h2>Instance Attribute Details</h2>
311
340
 
312
341
 
313
- <span id="ifs=-instance_method"></span>
342
+ <span id="columns=-instance_method"></span>
314
343
  <div class="method_details first">
315
- <h3 class="signature first" id="ifs-instance_method">
344
+ <h3 class="signature first" id="columns-instance_method">
345
+
346
+ #<strong>columns</strong> &#x21d2; <tt>Hash{Integer=&gt;Entry}</tt>
347
+
348
+
349
+
350
+
351
+
352
+ </h3><div class="docstring">
353
+ <div class="discussion">
354
+ <p class="note private">
355
+ <strong>This method is part of a private API.</strong>
356
+ You should avoid using this method if possible, as it may be removed or be changed in the future.
357
+ </p>
358
+
359
+ <p>Returns All column names.</p>
360
+
361
+
362
+ </div>
363
+ </div>
364
+ <div class="tags">
365
+
366
+ <p class="tag_title">Returns:</p>
367
+ <ul class="return">
368
+
369
+ <li>
370
+
371
+
372
+ <span class='type'>(<tt>Hash{Integer=&gt;Entry}</tt>)</span>
373
+
374
+
375
+
376
+ &mdash;
377
+ <div class='inline'>
378
+ <p>All column names.</p>
379
+ </div>
380
+
381
+ </li>
382
+
383
+ </ul>
384
+
385
+ </div><table class="source_code">
386
+ <tr>
387
+ <td>
388
+ <pre class="lines">
389
+
390
+
391
+ 19
392
+ 20
393
+ 21</pre>
394
+ </td>
395
+ <td>
396
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 19</span>
397
+
398
+ <span class='kw'>def</span> <span class='id identifier rubyid_columns'>columns</span>
399
+ <span class='ivar'>@columns</span>
400
+ <span class='kw'>end</span></pre>
401
+ </td>
402
+ </tr>
403
+ </table>
404
+ </div>
405
+
406
+
407
+ <span id="ifs=-instance_method"></span>
408
+ <div class="method_details ">
409
+ <h3 class="signature " id="ifs-instance_method">
316
410
 
317
411
  #<strong>ifs</strong> &#x21d2; <tt>Hash{Integer=&gt;Entry}</tt>
318
412
 
@@ -327,7 +421,7 @@ interspersed and need not have unique names.</p>
327
421
  You should avoid using this method if possible, as it may be removed or be changed in the future.
328
422
  </p>
329
423
 
330
- <p>if: columns.</p>
424
+ <p>Returns All if: column dictionary entries.</p>
331
425
 
332
426
 
333
427
  </div>
@@ -392,7 +486,7 @@ interspersed and need not have unique names.</p>
392
486
  You should avoid using this method if possible, as it may be removed or be changed in the future.
393
487
  </p>
394
488
 
395
- <p>Input columns.</p>
489
+ <p>Returns All input column dictionary entries.</p>
396
490
 
397
491
 
398
492
  </div>
@@ -424,12 +518,12 @@ interspersed and need not have unique names.</p>
424
518
  <pre class="lines">
425
519
 
426
520
 
427
- 20
428
- 21
429
- 22</pre>
521
+ 22
522
+ 23
523
+ 24</pre>
430
524
  </td>
431
525
  <td>
432
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 20</span>
526
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 22</span>
433
527
 
434
528
  <span class='kw'>def</span> <span class='id identifier rubyid_ins'>ins</span>
435
529
  <span class='ivar'>@ins</span>
@@ -457,7 +551,7 @@ interspersed and need not have unique names.</p>
457
551
  You should avoid using this method if possible, as it may be removed or be changed in the future.
458
552
  </p>
459
553
 
460
- <p>Output columns.</p>
554
+ <p>Returns All output column dictionary entries.</p>
461
555
 
462
556
 
463
557
  </div>
@@ -489,12 +583,12 @@ interspersed and need not have unique names.</p>
489
583
  <pre class="lines">
490
584
 
491
585
 
492
- 24
493
586
  25
494
- 26</pre>
587
+ 26
588
+ 27</pre>
495
589
  </td>
496
590
  <td>
497
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 24</span>
591
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 25</span>
498
592
 
499
593
  <span class='kw'>def</span> <span class='id identifier rubyid_outs'>outs</span>
500
594
  <span class='ivar'>@outs</span>
@@ -510,7 +604,7 @@ interspersed and need not have unique names.</p>
510
604
  </div>
511
605
 
512
606
  <div id="footer">
513
- Generated on Fri Jan 5 21:44:00 2018 by
607
+ Generated on Sat Jan 6 20:03:02 2018 by
514
608
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
515
609
  0.9.12 (ruby-2.4.0).
516
610
  </div>
@@ -128,13 +128,21 @@
128
128
 
129
129
 
130
130
 
131
- <h2>Instance Attribute Summary <small><a href="#" class="summary_toggle">collapse</a></small></h2>
132
- <ul class="summary">
133
-
134
- <li class="public ">
131
+
132
+
133
+
134
+
135
+ <h2>
136
+ Instance Method Summary
137
+ <small><a href="#" class="summary_toggle">collapse</a></small>
138
+ </h2>
139
+
140
+ <ul class="summary">
141
+
142
+ <li class="public ">
135
143
  <span class="summary_signature">
136
144
 
137
- <a href="#dictionary-instance_method" title="#dictionary (instance method)">#<strong>dictionary</strong> &#x21d2; Columns::Dictionary </a>
145
+ <a href="#dictionary-instance_method" title="#dictionary (instance method)">#<strong>dictionary</strong> &#x21d2; Object </a>
138
146
 
139
147
 
140
148
 
@@ -142,36 +150,16 @@
142
150
 
143
151
 
144
152
 
145
-
146
- <span class="note title readonly">readonly</span>
147
-
148
-
149
-
150
153
 
151
154
 
152
155
 
153
156
  <span class="private note title">private</span>
154
157
 
155
158
 
156
- <span class="summary_desc"><div class='inline'>
157
- <p>Dictionary of all data columns.</p>
158
- </div></span>
159
+ <span class="summary_desc"><div class='inline'></div></span>
159
160
 
160
161
  </li>
161
162
 
162
-
163
- </ul>
164
-
165
-
166
-
167
-
168
-
169
- <h2>
170
- Instance Method Summary
171
- <small><a href="#" class="summary_toggle">collapse</a></small>
172
- </h2>
173
-
174
- <ul class="summary">
175
163
 
176
164
  <li class="public ">
177
165
  <span class="summary_signature">
@@ -220,6 +208,28 @@
220
208
  <p>A new instance of Columns.</p>
221
209
  </div></span>
222
210
 
211
+ </li>
212
+
213
+
214
+ <li class="public ">
215
+ <span class="summary_signature">
216
+
217
+ <a href="#input_keys-instance_method" title="#input_keys (instance method)">#<strong>input_keys</strong> &#x21d2; Object </a>
218
+
219
+
220
+
221
+ </span>
222
+
223
+
224
+
225
+
226
+
227
+
228
+ <span class="private note title">private</span>
229
+
230
+
231
+ <span class="summary_desc"><div class='inline'></div></span>
232
+
223
233
  </li>
224
234
 
225
235
 
@@ -327,19 +337,19 @@
327
337
  <pre class="lines">
328
338
 
329
339
 
330
- 78
331
- 79
332
- 80
333
- 81
334
- 82
335
340
  83
336
341
  84
337
342
  85
338
343
  86
339
- 87</pre>
344
+ 87
345
+ 88
346
+ 89
347
+ 90
348
+ 91
349
+ 92</pre>
340
350
  </td>
341
351
  <td>
342
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 78</span>
352
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 83</span>
343
353
 
344
354
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_table'>table</span><span class='rparen'>)</span>
345
355
  <span class='comment'># If a column does not have a valid header cell, then it&#39;s empty of data.
@@ -358,15 +368,15 @@
358
368
 
359
369
  </div>
360
370
 
361
- <div id="instance_attr_details" class="attr_details">
362
- <h2>Instance Attribute Details</h2>
371
+
372
+ <div id="instance_method_details" class="method_details_list">
373
+ <h2>Instance Method Details</h2>
374
+
363
375
 
364
-
365
- <span id=""></span>
366
376
  <div class="method_details first">
367
377
  <h3 class="signature first" id="dictionary-instance_method">
368
378
 
369
- #<strong>dictionary</strong> &#x21d2; <tt><span class='object_link'><a href="Columns/Dictionary.html" title="CSVDecision::Columns::Dictionary (class)">Columns::Dictionary</a></span></tt> <span class="extras">(readonly)</span>
379
+ #<strong>dictionary</strong> &#x21d2; <tt>Object</tt>
370
380
 
371
381
 
372
382
 
@@ -379,26 +389,11 @@
379
389
  You should avoid using this method if possible, as it may be removed or be changed in the future.
380
390
  </p>
381
391
 
382
- <p>Dictionary of all data columns.</p>
383
-
384
392
 
385
393
  </div>
386
394
  </div>
387
395
  <div class="tags">
388
396
 
389
- <p class="tag_title">Returns:</p>
390
- <ul class="return">
391
-
392
- <li>
393
-
394
-
395
- <span class='type'>(<tt><span class='object_link'><a href="Columns/Dictionary.html" title="CSVDecision::Columns::Dictionary (class)">Columns::Dictionary</a></span></tt>)</span>
396
-
397
-
398
-
399
- </li>
400
-
401
- </ul>
402
397
 
403
398
  </div><table class="source_code">
404
399
  <tr>
@@ -406,30 +401,23 @@
406
401
  <pre class="lines">
407
402
 
408
403
 
409
- 47
410
- 48
411
- 49</pre>
404
+ 64
405
+ 65
406
+ 66</pre>
412
407
  </td>
413
408
  <td>
414
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 47</span>
409
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 64</span>
415
410
 
416
411
  <span class='kw'>def</span> <span class='id identifier rubyid_dictionary'>dictionary</span>
417
- <span class='ivar'>@dictionary</span>
412
+ <span class='ivar'>@dictionary</span><span class='period'>.</span><span class='id identifier rubyid_columns'>columns</span>
418
413
  <span class='kw'>end</span></pre>
419
414
  </td>
420
415
  </tr>
421
416
  </table>
422
417
  </div>
423
418
 
424
- </div>
425
-
426
-
427
- <div id="instance_method_details" class="method_details_list">
428
- <h2>Instance Method Details</h2>
429
-
430
-
431
- <div class="method_details first">
432
- <h3 class="signature first" id="ifs-instance_method">
419
+ <div class="method_details ">
420
+ <h3 class="signature " id="ifs-instance_method">
433
421
 
434
422
  #<strong>ifs</strong> &#x21d2; <tt>Hash{Index=&gt;Entry}</tt>
435
423
 
@@ -471,12 +459,12 @@
471
459
  <pre class="lines">
472
460
 
473
461
 
474
- 63
475
- 64
476
- 65</pre>
462
+ 60
463
+ 61
464
+ 62</pre>
477
465
  </td>
478
466
  <td>
479
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 63</span>
467
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 60</span>
480
468
 
481
469
  <span class='kw'>def</span> <span class='id identifier rubyid_ifs'>ifs</span>
482
470
  <span class='ivar'>@dictionary</span><span class='period'>.</span><span class='id identifier rubyid_ifs'>ifs</span>
@@ -484,6 +472,49 @@
484
472
  </td>
485
473
  </tr>
486
474
  </table>
475
+ </div>
476
+
477
+ <div class="method_details ">
478
+ <h3 class="signature " id="input_keys-instance_method">
479
+
480
+ #<strong>input_keys</strong> &#x21d2; <tt>Object</tt>
481
+
482
+
483
+
484
+
485
+
486
+ </h3><div class="docstring">
487
+ <div class="discussion">
488
+ <p class="note private">
489
+ <strong>This method is part of a private API.</strong>
490
+ You should avoid using this method if possible, as it may be removed or be changed in the future.
491
+ </p>
492
+
493
+
494
+ </div>
495
+ </div>
496
+ <div class="tags">
497
+
498
+
499
+ </div><table class="source_code">
500
+ <tr>
501
+ <td>
502
+ <pre class="lines">
503
+
504
+
505
+ 68
506
+ 69
507
+ 70</pre>
508
+ </td>
509
+ <td>
510
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 68</span>
511
+
512
+ <span class='kw'>def</span> <span class='id identifier rubyid_input_keys'>input_keys</span>
513
+ <span class='ivar'>@dictionary</span><span class='period'>.</span><span class='id identifier rubyid_columns'>columns</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid__k'>_k</span><span class='comma'>,</span> <span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span> <span class='op'>==</span> <span class='symbol'>:in</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span>
514
+ <span class='kw'>end</span></pre>
515
+ </td>
516
+ </tr>
517
+ </table>
487
518
  </div>
488
519
 
489
520
  <div class="method_details ">
@@ -529,12 +560,12 @@
529
560
  <pre class="lines">
530
561
 
531
562
 
532
- 51
533
- 52
534
- 53</pre>
563
+ 48
564
+ 49
565
+ 50</pre>
535
566
  </td>
536
567
  <td>
537
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 51</span>
568
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 48</span>
538
569
 
539
570
  <span class='kw'>def</span> <span class='id identifier rubyid_ins'>ins</span>
540
571
  <span class='ivar'>@dictionary</span><span class='period'>.</span><span class='id identifier rubyid_ins'>ins</span>
@@ -587,15 +618,15 @@
587
618
  <pre class="lines">
588
619
 
589
620
 
590
- 57
591
- 58
592
- 59</pre>
621
+ 54
622
+ 55
623
+ 56</pre>
593
624
  </td>
594
625
  <td>
595
- <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 57</span>
626
+ <pre class="code"><span class="info file"># File 'lib/csv_decision/columns.rb', line 54</span>
596
627
 
597
628
  <span class='kw'>def</span> <span class='id identifier rubyid_outs'>outs</span>
598
- <span class='ivar'>@dictionary</span><span class='period'>.</span><span class='id identifier rubyid_outs'>outs</span>
629
+ <span class='ivar'>@dictionary</span><span class='op'>&amp;.</span><span class='id identifier rubyid_outs'>outs</span>
599
630
  <span class='kw'>end</span></pre>
600
631
  </td>
601
632
  </tr>
@@ -607,7 +638,7 @@
607
638
  </div>
608
639
 
609
640
  <div id="footer">
610
- Generated on Fri Jan 5 21:44:00 2018 by
641
+ Generated on Sat Jan 6 20:03:02 2018 by
611
642
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
612
643
  0.9.12 (ruby-2.4.0).
613
644
  </div>
@@ -469,7 +469,7 @@ array of arrays. Strips out empty columns/rows and comment cells.</p>
469
469
  </div>
470
470
 
471
471
  <div id="footer">
472
- Generated on Fri Jan 5 21:44:00 2018 by
472
+ Generated on Sat Jan 6 20:03:01 2018 by
473
473
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
474
474
  0.9.12 (ruby-2.4.0).
475
475
  </div>
@@ -428,7 +428,7 @@ hash. Otherwise a copy of the input hash is symbolized.</p>
428
428
  </div>
429
429
 
430
430
  <div id="footer">
431
- Generated on Fri Jan 5 21:44:00 2018 by
431
+ Generated on Sat Jan 6 20:03:01 2018 by
432
432
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
433
433
  0.9.12 (ruby-2.4.0).
434
434
  </div>
@@ -405,7 +405,7 @@
405
405
  </div>
406
406
 
407
407
  <div id="footer">
408
- Generated on Fri Jan 5 21:44:00 2018 by
408
+ Generated on Sat Jan 6 20:03:02 2018 by
409
409
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
410
410
  0.9.12 (ruby-2.4.0).
411
411
  </div>
@@ -498,7 +498,7 @@
498
498
  </div>
499
499
 
500
500
  <div id="footer">
501
- Generated on Fri Jan 5 21:44:01 2018 by
501
+ Generated on Sat Jan 6 20:03:02 2018 by
502
502
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
503
503
  0.9.12 (ruby-2.4.0).
504
504
  </div>