csv_decision 0.0.9 → 0.1.0

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