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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +26 -2
- data/csv_decision.gemspec +1 -1
- data/doc/CSVDecision/CellValidationError.html +2 -2
- data/doc/CSVDecision/Columns/Default.html +203 -23
- data/doc/CSVDecision/Columns/Dictionary.html +118 -25
- data/doc/CSVDecision/Columns.html +213 -31
- data/doc/CSVDecision/Data.html +1 -1
- data/doc/CSVDecision/Decide.html +1 -1
- data/doc/CSVDecision/Decision.html +1 -1
- data/doc/CSVDecision/Defaults.html +291 -0
- data/doc/CSVDecision/Dictionary/Entry.html +584 -47
- data/doc/CSVDecision/Dictionary.html +20 -20
- data/doc/CSVDecision/Error.html +2 -2
- data/doc/CSVDecision/FileError.html +1 -1
- data/doc/CSVDecision/Header.html +110 -33
- data/doc/CSVDecision/Input.html +1 -1
- data/doc/CSVDecision/Load.html +1 -1
- data/doc/CSVDecision/Matchers/Constant.html +12 -37
- data/doc/CSVDecision/Matchers/Function.html +1 -1
- data/doc/CSVDecision/Matchers/Guard.html +15 -13
- data/doc/CSVDecision/Matchers/Matcher.html +1 -1
- data/doc/CSVDecision/Matchers/Numeric.html +13 -21
- data/doc/CSVDecision/Matchers/Pattern.html +14 -14
- data/doc/CSVDecision/Matchers/Proc.html +1 -1
- data/doc/CSVDecision/Matchers/Range.html +13 -58
- data/doc/CSVDecision/Matchers/Symbol.html +1 -1
- data/doc/CSVDecision/Matchers.html +9 -9
- data/doc/CSVDecision/Options.html +1 -1
- data/doc/CSVDecision/Parse.html +90 -19
- data/doc/CSVDecision/Result.html +1 -1
- data/doc/CSVDecision/ScanRow.html +17 -17
- data/doc/CSVDecision/Table.html +50 -48
- data/doc/CSVDecision/TableValidationError.html +143 -0
- data/doc/CSVDecision/Validate.html +422 -0
- data/doc/CSVDecision.html +8 -8
- data/doc/_index.html +33 -1
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +27 -3
- data/doc/index.html +27 -3
- data/doc/method_list.html +193 -89
- data/doc/top-level-namespace.html +1 -1
- data/lib/csv_decision/columns.rb +28 -27
- data/lib/csv_decision/defaults.rb +47 -0
- data/lib/csv_decision/dictionary.rb +104 -112
- data/lib/csv_decision/header.rb +13 -10
- data/lib/csv_decision/input.rb +53 -5
- data/lib/csv_decision/matchers/constant.rb +1 -2
- data/lib/csv_decision/matchers/guard.rb +3 -2
- data/lib/csv_decision/matchers/numeric.rb +4 -6
- data/lib/csv_decision/matchers/pattern.rb +6 -8
- data/lib/csv_decision/matchers/range.rb +1 -3
- data/lib/csv_decision/matchers.rb +7 -7
- data/lib/csv_decision/parse.rb +24 -3
- data/lib/csv_decision/scan_row.rb +16 -16
- data/lib/csv_decision/table.rb +3 -7
- data/lib/csv_decision/validate.rb +85 -0
- data/lib/csv_decision.rb +3 -1
- data/spec/csv_decision/columns_spec.rb +38 -22
- data/spec/csv_decision/examples_spec.rb +17 -0
- data/spec/csv_decision/matchers/range_spec.rb +0 -32
- data/spec/csv_decision/table_spec.rb +39 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 67d87d1568c8a9427eca158d72473cceab9ea0cc
|
4
|
+
data.tar.gz: acaf91742be83cdee27cad0135feed854bff8f4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 983a199ab2f592b3b78fb6cef1b95e0af0a45aaaca9f352d7ff22a7e7b5ade08268d6efb41530a137fbd00c77516e9d12f3d21e66c6901ea927611600c1d2c7a
|
7
|
+
data.tar.gz: a75924ebd838c43be4c876e52332bccb1b57be3ecd719c9a81283bc449a14174294f90df64e08db2f50df463920f42ffeec5a8ec148106c589332336d0bfee34
|
data/CHANGELOG.md
CHANGED
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.
|
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
|
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
|
-
<
|
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="#
|
129
|
+
<a href="#eval-instance_method" title="#eval (instance method)">#<strong>eval</strong> ⇒ 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
|
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> ⇒ 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> ⇒ 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="
|
272
|
+
<span id="eval=-instance_method"></span>
|
215
273
|
<div class="method_details first">
|
216
|
-
<h3 class="signature first" id="
|
274
|
+
<h3 class="signature first" id="eval-instance_method">
|
217
275
|
|
218
|
-
#<strong>
|
276
|
+
#<strong>eval</strong> ⇒ <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
|
285
|
+
<p>Returns the value of attribute eval</p>
|
228
286
|
|
229
287
|
|
230
288
|
</div>
|
@@ -243,7 +301,7 @@
|
|
243
301
|
|
244
302
|
—
|
245
303
|
<div class='inline'>
|
246
|
-
<p>the current value of
|
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
|
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
|
267
|
-
<span class='ivar'>@
|
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
|
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
|
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> ⇒ <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
|
+
—
|
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> ⇒ <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
|
+
—
|
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
|
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.
|
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's array column index. Note that input and output columns
|
111
|
-
interspersed and
|
109
|
+
<p>Dictionary of all table data columns. The key of each hash is the header
|
110
|
+
cell'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> ⇒ Hash{Integer=>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>
|
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>
|
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
|
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
|
-
|
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> ⇒ <tt>Hash{Integer=>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=>Entry}</tt>)</span>
|
464
|
+
|
465
|
+
|
466
|
+
|
467
|
+
—
|
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
|
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
|
—
|
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
|
-
|
457
|
-
|
458
|
-
|
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
|
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
|
-
|
587
|
-
|
588
|
-
|
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
|
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
|
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>
|