csv_decision2 0.5.1 → 0.5.2

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 (102) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +1 -1
  3. data/README.md +16 -16
  4. data/benchmarks/rufus_decision.rb +5 -7
  5. data/csv_decision2.gemspec +2 -2
  6. data/doc/CSVDecision/CellValidationError.html +117 -110
  7. data/doc/CSVDecision/Columns/Default.html +537 -508
  8. data/doc/CSVDecision/Columns/Dictionary.html +729 -686
  9. data/doc/CSVDecision/Columns/Entry.html +457 -433
  10. data/doc/CSVDecision/Columns.html +1134 -1051
  11. data/doc/CSVDecision/Constant.html +205 -191
  12. data/doc/CSVDecision/Data.html +423 -398
  13. data/doc/CSVDecision/Decide.html +236 -225
  14. data/doc/CSVDecision/Decision.html +872 -825
  15. data/doc/CSVDecision/Defaults.html +243 -230
  16. data/doc/CSVDecision/Dictionary/Entry.html +1026 -964
  17. data/doc/CSVDecision/Dictionary.html +377 -355
  18. data/doc/CSVDecision/Error.html +116 -105
  19. data/doc/CSVDecision/FileError.html +117 -110
  20. data/doc/CSVDecision/Function.html +181 -168
  21. data/doc/CSVDecision/Guard.html +200 -185
  22. data/doc/CSVDecision/Header.html +557 -523
  23. data/doc/CSVDecision/Index.html +652 -617
  24. data/doc/CSVDecision/Input.html +329 -312
  25. data/doc/CSVDecision/Load.html +232 -220
  26. data/doc/CSVDecision/Matchers/Constant.html +432 -399
  27. data/doc/CSVDecision/Matchers/Function.html +451 -415
  28. data/doc/CSVDecision/Matchers/Guard.html +459 -424
  29. data/doc/CSVDecision/Matchers/Matcher.html +470 -426
  30. data/doc/CSVDecision/Matchers/Numeric.html +375 -346
  31. data/doc/CSVDecision/Matchers/Pattern.html +429 -396
  32. data/doc/CSVDecision/Matchers/Proc.html +617 -575
  33. data/doc/CSVDecision/Matchers/Range.html +331 -302
  34. data/doc/CSVDecision/Matchers/Symbol.html +386 -353
  35. data/doc/CSVDecision/Matchers.html +1509 -1393
  36. data/doc/CSVDecision/Numeric.html +201 -188
  37. data/doc/CSVDecision/Options.html +376 -357
  38. data/doc/CSVDecision/Parse.html +217 -204
  39. data/doc/CSVDecision/Paths.html +664 -629
  40. data/doc/CSVDecision/Result.html +1076 -1005
  41. data/doc/CSVDecision/Scan/InputHashes.html +305 -288
  42. data/doc/CSVDecision/Scan.html +262 -249
  43. data/doc/CSVDecision/ScanRow.html +749 -705
  44. data/doc/CSVDecision/Symbol.html +204 -191
  45. data/doc/CSVDecision/Table.html +1391 -1305
  46. data/doc/CSVDecision/TableValidationError.html +117 -110
  47. data/doc/CSVDecision/Validate.html +353 -337
  48. data/doc/CSVDecision.html +623 -552
  49. data/doc/_index.html +488 -448
  50. data/doc/class_list.html +250 -45
  51. data/doc/file.README.html +304 -278
  52. data/doc/index.html +304 -278
  53. data/doc/method_list.html +1159 -1017
  54. data/doc/top-level-namespace.html +79 -75
  55. data/lib/{csv_decision → csv_decision2}/columns.rb +7 -7
  56. data/lib/{csv_decision → csv_decision2}/data.rb +1 -1
  57. data/lib/{csv_decision → csv_decision2}/decision.rb +5 -5
  58. data/lib/{csv_decision → csv_decision2}/defaults.rb +2 -2
  59. data/lib/{csv_decision → csv_decision2}/dictionary.rb +2 -2
  60. data/lib/{csv_decision → csv_decision2}/header.rb +5 -5
  61. data/lib/{csv_decision → csv_decision2}/index.rb +5 -5
  62. data/lib/{csv_decision → csv_decision2}/input.rb +3 -3
  63. data/lib/{csv_decision → csv_decision2}/load.rb +6 -6
  64. data/lib/{csv_decision → csv_decision2}/matchers/constant.rb +2 -2
  65. data/lib/{csv_decision → csv_decision2}/matchers/function.rb +2 -2
  66. data/lib/{csv_decision → csv_decision2}/matchers/guard.rb +2 -2
  67. data/lib/{csv_decision → csv_decision2}/matchers/numeric.rb +2 -2
  68. data/lib/{csv_decision → csv_decision2}/matchers/pattern.rb +2 -2
  69. data/lib/{csv_decision → csv_decision2}/matchers/range.rb +2 -2
  70. data/lib/{csv_decision → csv_decision2}/matchers/symbol.rb +2 -2
  71. data/lib/{csv_decision → csv_decision2}/matchers.rb +5 -5
  72. data/lib/{csv_decision → csv_decision2}/options.rb +3 -3
  73. data/lib/{csv_decision → csv_decision2}/parse.rb +14 -14
  74. data/lib/{csv_decision → csv_decision2}/paths.rb +5 -5
  75. data/lib/{csv_decision → csv_decision2}/result.rb +2 -2
  76. data/lib/{csv_decision → csv_decision2}/scan.rb +3 -3
  77. data/lib/{csv_decision → csv_decision2}/scan_row.rb +2 -2
  78. data/lib/{csv_decision → csv_decision2}/table.rb +8 -8
  79. data/lib/{csv_decision → csv_decision2}/validate.rb +2 -2
  80. data/lib/csv_decision2.rb +45 -0
  81. data/spec/{csv_decision → csv_decision2}/columns_spec.rb +44 -44
  82. data/spec/{csv_decision → csv_decision2}/constant_spec.rb +4 -4
  83. data/spec/{csv_decision → csv_decision2}/data_spec.rb +11 -11
  84. data/spec/{csv_decision → csv_decision2}/decision_spec.rb +6 -6
  85. data/spec/{csv_decision → csv_decision2}/examples_spec.rb +14 -14
  86. data/spec/{csv_decision → csv_decision2}/index_spec.rb +8 -8
  87. data/spec/{csv_decision → csv_decision2}/input_spec.rb +9 -9
  88. data/spec/{csv_decision → csv_decision2}/load_spec.rb +8 -8
  89. data/spec/{csv_decision → csv_decision2}/matchers/function_spec.rb +7 -7
  90. data/spec/{csv_decision → csv_decision2}/matchers/guard_spec.rb +14 -14
  91. data/spec/{csv_decision → csv_decision2}/matchers/numeric_spec.rb +5 -5
  92. data/spec/{csv_decision → csv_decision2}/matchers/pattern_spec.rb +6 -6
  93. data/spec/{csv_decision → csv_decision2}/matchers/range_spec.rb +5 -5
  94. data/spec/{csv_decision → csv_decision2}/matchers/symbol_spec.rb +6 -6
  95. data/spec/{csv_decision → csv_decision2}/options_spec.rb +18 -18
  96. data/spec/csv_decision2/parse_spec.rb +44 -0
  97. data/spec/{csv_decision → csv_decision2}/table_spec.rb +17 -17
  98. data/spec/csv_decision2_spec.rb +7 -0
  99. metadata +64 -64
  100. data/lib/csv_decision.rb +0 -45
  101. data/spec/csv_decision/parse_spec.rb +0 -44
  102. data/spec/csv_decision_spec.rb +0 -7
@@ -1,23 +1,24 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Module: CSVDecision::Options
8
-
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>
8
+ Module: CSVDecision2::Options
9
+
9
10
  &mdash; Documentation by YARD 0.9.12
10
-
11
- </title>
11
+
12
+ </title>
12
13
 
13
14
  <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
15
 
15
16
  <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
17
 
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "CSVDecision::Options";
19
- relpath = '../';
20
- </script>
18
+ <script type="text/javascript" charset="utf-8">
19
+ pathId = "CSVDecision2::Options";
20
+ relpath = '../';
21
+ </script>
21
22
 
22
23
 
23
24
  <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
@@ -25,113 +26,119 @@
25
26
  <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
27
 
27
28
 
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
29
+ </head>
30
+
31
+ <body>
32
+ <div class="nav_wrap">
33
+ <iframe id="nav" src="../class_list.html?1"></iframe>
34
+ <div id="resizer"></div>
35
+ </div>
36
+
37
+ <div id="main" tabindex="-1">
38
+ <div id="header">
39
+ <div id="menu">
40
+
41
+ <a href="../_index.html">Index (O)</a> &raquo;
42
+ <span class='title'><span class='object_link'><a href="../CSVDecision2.html"
43
+ title="CSVDecision (module)">CSVDecision</a></span></span>
44
+ &raquo;
45
+ <span class="title">Options</span>
46
+
47
+ </div>
48
+
49
+ <div id="search">
50
+
51
+ <a class="full_list_link" id="class_list_link" href="../class_list.html">
52
+
53
+ <svg width="24" height="24">
54
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
55
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
56
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
57
+ </svg>
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
33
62
  </div>
34
63
 
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../_index.html">Index (O)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../CSVDecision.html" title="CSVDecision (module)">CSVDecision</a></span></span>
41
- &raquo;
42
- <span class="title">Options</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
64
+ <div id="content">
65
+ <h1>Module: CSVDecision2::Options
66
+
67
+
68
+ <span class="private note title">Private</span>
69
+ </h1>
70
+ <div class="box_info">
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+ <dl>
83
+ <dt>Defined in:</dt>
84
+ <dd>lib/csv_decision2/options.rb</dd>
85
+ </dl>
86
+
60
87
  </div>
61
88
 
62
- <div id="content"><h1>Module: CSVDecision::Options
63
-
64
-
65
- <span class="private note title">Private</span>
66
- </h1>
67
- <div class="box_info">
68
-
89
+ <h2>Overview</h2>
90
+ <div class="docstring">
91
+ <div class="discussion">
92
+ <p class="note private">
93
+ <strong>This module is part of a private API.</strong>
94
+ You should avoid using this module if possible, as it may be removed or be changed in the future.
95
+ </p>
69
96
 
70
-
71
-
72
-
73
-
74
-
97
+ <p>Validate and normalize the options values supplied.</p>
75
98
 
76
-
77
99
 
78
-
79
- <dl>
80
- <dt>Defined in:</dt>
81
- <dd>lib/csv_decision/options.rb</dd>
82
- </dl>
83
-
84
- </div>
100
+ </div>
101
+ </div>
102
+ <div class="tags">
85
103
 
86
- <h2>Overview</h2><div class="docstring">
87
- <div class="discussion">
88
- <p class="note private">
89
- <strong>This module is part of a private API.</strong>
90
- You should avoid using this module if possible, as it may be removed or be changed in the future.
91
- </p>
92
104
 
93
- <p>Validate and normalize the options values supplied.</p>
105
+ </div>
106
+ <h2>Constant Summary</h2>
107
+ <dl class="constants">
94
108
 
109
+ <dt id="DEFAULT_MATCHERS-constant" class="">DEFAULT_MATCHERS =
110
+ <div class="docstring">
111
+ <div class="discussion">
112
+ <p class="note private">
113
+ <strong>This constant is part of a private API.</strong>
114
+ You should avoid using this constant if possible, as it may be removed or be changed in the future.
115
+ </p>
95
116
 
96
- </div>
97
- </div>
98
- <div class="tags">
99
-
100
-
101
- </div>
102
- <h2>Constant Summary</h2>
103
- <dl class="constants">
104
-
105
- <dt id="DEFAULT_MATCHERS-constant" class="">DEFAULT_MATCHERS =
106
- <div class="docstring">
107
- <div class="discussion">
108
- <p class="note private">
109
- <strong>This constant is part of a private API.</strong>
110
- You should avoid using this constant if possible, as it may be removed or be changed in the future.
111
- </p>
112
-
113
- <p>Specialized cell value matchers beyond simple string compares. By default
114
- all these matchers are tried in the specified order on all input data
115
- cells.</p>
117
+ <p>Specialized cell value matchers beyond simple string compares. By default
118
+ all these matchers are tried in the specified order on all input data
119
+ cells.</p>
116
120
 
117
121
 
118
- </div>
119
- </div>
120
- <div class="tags">
121
-
122
+ </div>
123
+ </div>
124
+ <div class="tags">
125
+
126
+
127
+ </div>
128
+ </dt>
129
+ <dd>
130
+ <pre
131
+ class="code"><span class='lbracket'>[</span>
132
+ <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision2::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Range.html" title="CSVDecision2::Matchers::Range (class)">Range</a></span></span><span class='comma'>,</span>
133
+ <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision2::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Numeric.html" title="CSVDecision2::Matchers::Numeric (class)">Numeric</a></span></span><span class='comma'>,</span>
134
+ <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision2::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Pattern.html" title="CSVDecision2::Matchers::Pattern (class)">Pattern</a></span></span><span class='comma'>,</span>
135
+ <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision2::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Constant.html" title="CSVDecision2::Matchers::Constant (class)">Constant</a></span></span><span class='comma'>,</span>
136
+ <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision2::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Symbol.html" title="CSVDecision2::Matchers::Symbol (class)">Symbol</a></span></span><span class='comma'>,</span>
137
+ <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision2::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Guard.html" title="CSVDecision2::Matchers::Guard (class)">Guard</a></span></span>
138
+ <span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre>
139
+ </dd>
122
140
 
123
- </div>
124
- </dt>
125
- <dd><pre class="code"><span class='lbracket'>[</span>
126
- <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Range.html" title="CSVDecision::Matchers::Range (class)">Range</a></span></span><span class='comma'>,</span>
127
- <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Numeric.html" title="CSVDecision::Matchers::Numeric (class)">Numeric</a></span></span><span class='comma'>,</span>
128
- <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Pattern.html" title="CSVDecision::Matchers::Pattern (class)">Pattern</a></span></span><span class='comma'>,</span>
129
- <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Constant.html" title="CSVDecision::Matchers::Constant (class)">Constant</a></span></span><span class='comma'>,</span>
130
- <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Symbol.html" title="CSVDecision::Matchers::Symbol (class)">Symbol</a></span></span><span class='comma'>,</span>
131
- <span class='const'><span class='object_link'><a href="Matchers.html" title="CSVDecision::Matchers (class)">Matchers</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Matchers/Guard.html" title="CSVDecision::Matchers::Guard (class)">Guard</a></span></span>
132
- <span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
133
-
134
- </dl>
141
+ </dl>
135
142
 
136
143
 
137
144
 
@@ -139,154 +146,162 @@ cells.</p>
139
146
 
140
147
 
141
148
 
142
-
143
- <h2>
144
- Class Method Summary
145
- <small><a href="#" class="summary_toggle">collapse</a></small>
146
- </h2>
147
149
 
148
- <ul class="summary">
149
-
150
+ <h2>
151
+ Class Method Summary
152
+ <small><a href="#" class="summary_toggle">collapse</a></small>
153
+ </h2>
154
+
155
+ <ul class="summary">
156
+
150
157
  <li class="public ">
151
- <span class="summary_signature">
152
-
153
- <a href="#from_csv-class_method" title="from_csv (class method)">.<strong>from_csv</strong>(rows:, options:) &#x21d2; Hash </a>
154
-
155
-
156
-
157
- </span>
158
-
159
-
160
-
161
-
162
-
163
-
164
- <span class="private note title">private</span>
165
-
166
-
167
- <span class="summary_desc"><div class='inline'>
168
- <p>Read any options supplied in the CSV file placed before the header row.</p>
169
- </div></span>
170
-
171
- </li>
172
-
173
-
158
+ <span class="summary_signature">
159
+
160
+ <a href="#from_csv-class_method" title="from_csv (class method)">.<strong>from_csv</strong>(rows:, options:)
161
+ &#x21d2; Hash </a>
162
+
163
+
164
+
165
+ </span>
166
+
167
+
168
+
169
+
170
+
171
+
172
+ <span class="private note title">private</span>
173
+
174
+
175
+ <span class="summary_desc">
176
+ <div class='inline'>
177
+ <p>Read any options supplied in the CSV file placed before the header row.</p>
178
+ </div>
179
+ </span>
180
+
181
+ </li>
182
+
183
+
174
184
  <li class="public ">
175
- <span class="summary_signature">
176
-
177
- <a href="#normalize-class_method" title="normalize (class method)">.<strong>normalize</strong>(options) &#x21d2; Hash </a>
178
-
179
-
180
-
181
- </span>
182
-
183
-
184
-
185
-
186
-
187
-
188
- <span class="private note title">private</span>
189
-
190
-
191
- <span class="summary_desc"><div class='inline'>
192
- <p>Validate options and supply default values for any options not explicitly
193
- set.</p>
194
- </div></span>
195
-
196
- </li>
197
-
198
-
199
- </ul>
200
-
201
-
202
-
203
-
204
- <div id="class_method_details" class="method_details_list">
205
- <h2>Class Method Details</h2>
206
-
207
-
208
- <div class="method_details first">
209
- <h3 class="signature first" id="from_csv-class_method">
210
-
211
- .<strong>from_csv</strong>(rows:, options:) &#x21d2; <tt>Hash</tt>
212
-
213
-
214
-
215
-
216
-
217
- </h3><div class="docstring">
218
- <div class="discussion">
219
- <p class="note private">
220
- <strong>This method is part of a private API.</strong>
221
- You should avoid using this method if possible, as it may be removed or be changed in the future.
222
- </p>
223
-
224
- <p>Read any options supplied in the CSV file placed before the header row.</p>
185
+ <span class="summary_signature">
186
+
187
+ <a href="#normalize-class_method" title="normalize (class method)">.<strong>normalize</strong>(options)
188
+ &#x21d2; Hash </a>
189
+
190
+
191
+
192
+ </span>
193
+
194
+
195
+
196
+
197
+
198
+
199
+ <span class="private note title">private</span>
200
+
201
+
202
+ <span class="summary_desc">
203
+ <div class='inline'>
204
+ <p>Validate options and supply default values for any options not explicitly
205
+ set.</p>
206
+ </div>
207
+ </span>
208
+
209
+ </li>
210
+
211
+
212
+ </ul>
213
+
214
+
215
+
216
+
217
+ <div id="class_method_details" class="method_details_list">
218
+ <h2>Class Method Details</h2>
219
+
220
+
221
+ <div class="method_details first">
222
+ <h3 class="signature first" id="from_csv-class_method">
223
+
224
+ .<strong>from_csv</strong>(rows:, options:) &#x21d2; <tt>Hash</tt>
225
+
225
226
 
226
227
 
227
- </div>
228
- </div>
229
- <div class="tags">
230
- <p class="tag_title">Parameters:</p>
231
- <ul class="param">
232
-
233
- <li>
234
-
235
- <span class='name'>rows</span>
236
-
237
-
238
- <span class='type'>(<tt>Array&lt;Array&lt;String&gt;&gt;</tt>)</span>
239
-
240
-
241
-
242
- &mdash;
243
- <div class='inline'>
244
- <p>Table data rows.</p>
245
- </div>
246
-
247
- </li>
248
-
249
- <li>
250
-
251
- <span class='name'>options</span>
252
-
253
-
254
- <span class='type'>(<tt>Hash</tt>)</span>
255
-
256
-
257
-
258
- &mdash;
259
- <div class='inline'>
260
- <p>Input options hash built so far.</p>
261
- </div>
262
-
263
- </li>
264
-
265
- </ul>
266
-
267
- <p class="tag_title">Returns:</p>
268
- <ul class="return">
269
-
270
- <li>
271
-
272
-
273
- <span class='type'>(<tt>Hash</tt>)</span>
274
-
275
-
276
-
277
- &mdash;
278
- <div class='inline'>
279
- <p>Options hash overridden with any values found in the CSV file.</p>
280
- </div>
281
-
282
- </li>
283
-
284
- </ul>
285
-
286
- </div><table class="source_code">
287
- <tr>
288
- <td>
289
- <pre class="lines">
228
+
229
+
230
+ </h3>
231
+ <div class="docstring">
232
+ <div class="discussion">
233
+ <p class="note private">
234
+ <strong>This method is part of a private API.</strong>
235
+ You should avoid using this method if possible, as it may be removed or be changed in the future.
236
+ </p>
237
+
238
+ <p>Read any options supplied in the CSV file placed before the header row.</p>
239
+
240
+
241
+ </div>
242
+ </div>
243
+ <div class="tags">
244
+ <p class="tag_title">Parameters:</p>
245
+ <ul class="param">
246
+
247
+ <li>
248
+
249
+ <span class='name'>rows</span>
250
+
251
+
252
+ <span class='type'>(<tt>Array&lt;Array&lt;String&gt;&gt;</tt>)</span>
253
+
254
+
255
+
256
+ &mdash;
257
+ <div class='inline'>
258
+ <p>Table data rows.</p>
259
+ </div>
260
+
261
+ </li>
262
+
263
+ <li>
264
+
265
+ <span class='name'>options</span>
266
+
267
+
268
+ <span class='type'>(<tt>Hash</tt>)</span>
269
+
270
+
271
+
272
+ &mdash;
273
+ <div class='inline'>
274
+ <p>Input options hash built so far.</p>
275
+ </div>
276
+
277
+ </li>
278
+
279
+ </ul>
280
+
281
+ <p class="tag_title">Returns:</p>
282
+ <ul class="return">
283
+
284
+ <li>
285
+
286
+
287
+ <span class='type'>(<tt>Hash</tt>)</span>
288
+
289
+
290
+
291
+ &mdash;
292
+ <div class='inline'>
293
+ <p>Options hash overridden with any values found in the CSV file.</p>
294
+ </div>
295
+
296
+ </li>
297
+
298
+ </ul>
299
+
300
+ </div>
301
+ <table class="source_code">
302
+ <tr>
303
+ <td>
304
+ <pre class="lines">
290
305
 
291
306
 
292
307
  56
@@ -302,16 +317,16 @@ set.</p>
302
317
  66
303
318
  67
304
319
  68</pre>
305
- </td>
306
- <td>
307
- <pre class="code"><span class="info file"># File 'lib/csv_decision/options.rb', line 56</span>
320
+ </td>
321
+ <td>
322
+ <pre class="code"><span class="info file"># File 'lib/csv_decision2/options.rb', line 56</span>
308
323
 
309
324
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_from_csv'>from_csv</span><span class='lparen'>(</span><span class='label'>rows:</span><span class='comma'>,</span> <span class='label'>options:</span><span class='rparen'>)</span>
310
325
  <span class='id identifier rubyid_row'>row</span> <span class='op'>=</span> <span class='id identifier rubyid_rows'>rows</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
311
326
  <span class='kw'>return</span> <span class='id identifier rubyid_options'>options</span> <span class='kw'>if</span> <span class='id identifier rubyid_row'>row</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
312
327
 
313
328
  <span class='comment'># Have we hit the header row?
314
- </span> <span class='kw'>return</span> <span class='id identifier rubyid_options'>options</span> <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="Header.html" title="CSVDecision::Header (module)">Header</a></span></span><span class='period'>.</span><span class='id identifier rubyid_row?'><span class='object_link'><a href="Header.html#row%3F-class_method" title="CSVDecision::Header.row? (method)">row?</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_row'>row</span><span class='rparen'>)</span>
329
+ </span> <span class='kw'>return</span> <span class='id identifier rubyid_options'>options</span> <span class='kw'>if</span> <span class='const'><span class='object_link'><a href="Header.html" title="CSVDecision2::Header (module)">Header</a></span></span><span class='period'>.</span><span class='id identifier rubyid_row?'><span class='object_link'><a href="Header.html#row%3F-class_method" title="CSVDecision2::Header.row? (method)">row?</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_row'>row</span><span class='rparen'>)</span>
315
330
 
316
331
  <span class='comment'># Scan each cell looking for valid option values
317
332
  </span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='id identifier rubyid_scan_cells'>scan_cells</span><span class='lparen'>(</span><span class='label'>row:</span> <span class='id identifier rubyid_row'>row</span><span class='comma'>,</span> <span class='label'>options:</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
@@ -319,125 +334,129 @@ set.</p>
319
334
  <span class='id identifier rubyid_rows'>rows</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
320
335
  <span class='id identifier rubyid_from_csv'>from_csv</span><span class='lparen'>(</span><span class='label'>rows:</span> <span class='id identifier rubyid_rows'>rows</span><span class='comma'>,</span> <span class='label'>options:</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
321
336
  <span class='kw'>end</span></pre>
322
- </td>
323
- </tr>
324
- </table>
325
- </div>
326
-
327
- <div class="method_details ">
328
- <h3 class="signature " id="normalize-class_method">
329
-
330
- .<strong>normalize</strong>(options) &#x21d2; <tt>Hash</tt>
331
-
332
-
333
-
334
-
335
-
336
- </h3><div class="docstring">
337
- <div class="discussion">
338
- <p class="note private">
339
- <strong>This method is part of a private API.</strong>
340
- You should avoid using this method if possible, as it may be removed or be changed in the future.
341
- </p>
342
-
343
- <p>Validate options and supply default values for any options not explicitly
344
- set.</p>
337
+ </td>
338
+ </tr>
339
+ </table>
340
+ </div>
341
+
342
+ <div class="method_details ">
343
+ <h3 class="signature " id="normalize-class_method">
344
+
345
+ .<strong>normalize</strong>(options) &#x21d2; <tt>Hash</tt>
346
+
347
+
345
348
 
346
349
 
347
- </div>
348
- </div>
349
- <div class="tags">
350
- <p class="tag_title">Parameters:</p>
351
- <ul class="param">
352
-
353
- <li>
354
-
355
- <span class='name'>options</span>
356
-
357
-
358
- <span class='type'>(<tt>Hash</tt>)</span>
359
-
360
-
361
-
362
- &mdash;
363
- <div class='inline'>
364
- <p>Input options hash supplied by the user.</p>
365
- </div>
366
-
367
- </li>
368
-
369
- </ul>
370
-
371
- <p class="tag_title">Returns:</p>
372
- <ul class="return">
373
-
374
- <li>
375
-
376
-
377
- <span class='type'>(<tt>Hash</tt>)</span>
378
-
379
-
380
-
381
- &mdash;
382
- <div class='inline'>
383
- <p>Options hash filled in with all required values, defaulted if necessary.</p>
384
- </div>
385
-
386
- </li>
387
-
388
- </ul>
389
- <p class="tag_title">Raises:</p>
390
- <ul class="raise">
391
-
392
- <li>
393
-
394
-
395
- <span class='type'>(<tt><span class='object_link'><a href="CellValidationError.html" title="CSVDecision::CellValidationError (class)">CellValidationError</a></span></tt>)</span>
396
-
397
-
398
-
399
- &mdash;
400
- <div class='inline'>
401
- <p>For invalid option keys.</p>
402
- </div>
403
-
404
- </li>
405
-
406
- </ul>
407
-
408
- </div><table class="source_code">
409
- <tr>
410
- <td>
411
- <pre class="lines">
350
+
351
+ </h3>
352
+ <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>Validate options and supply default values for any options not explicitly
360
+ set.</p>
361
+
362
+
363
+ </div>
364
+ </div>
365
+ <div class="tags">
366
+ <p class="tag_title">Parameters:</p>
367
+ <ul class="param">
368
+
369
+ <li>
370
+
371
+ <span class='name'>options</span>
372
+
373
+
374
+ <span class='type'>(<tt>Hash</tt>)</span>
375
+
376
+
377
+
378
+ &mdash;
379
+ <div class='inline'>
380
+ <p>Input options hash supplied by the user.</p>
381
+ </div>
382
+
383
+ </li>
384
+
385
+ </ul>
386
+
387
+ <p class="tag_title">Returns:</p>
388
+ <ul class="return">
389
+
390
+ <li>
391
+
392
+
393
+ <span class='type'>(<tt>Hash</tt>)</span>
394
+
395
+
396
+
397
+ &mdash;
398
+ <div class='inline'>
399
+ <p>Options hash filled in with all required values, defaulted if necessary.</p>
400
+ </div>
401
+
402
+ </li>
403
+
404
+ </ul>
405
+ <p class="tag_title">Raises:</p>
406
+ <ul class="raise">
407
+
408
+ <li>
409
+
410
+
411
+ <span class='type'>(<tt><span class='object_link'><a href="CellValidationError.html"
412
+ title="CSVDecision2::CellValidationError (class)">CellValidationError</a></span></tt>)</span>
413
+
414
+
415
+
416
+ &mdash;
417
+ <div class='inline'>
418
+ <p>For invalid option keys.</p>
419
+ </div>
420
+
421
+ </li>
422
+
423
+ </ul>
424
+
425
+ </div>
426
+ <table class="source_code">
427
+ <tr>
428
+ <td>
429
+ <pre class="lines">
412
430
 
413
431
 
414
432
  46
415
433
  47
416
434
  48
417
435
  49</pre>
418
- </td>
419
- <td>
420
- <pre class="code"><span class="info file"># File 'lib/csv_decision/options.rb', line 46</span>
436
+ </td>
437
+ <td>
438
+ <pre class="code"><span class="info file"># File 'lib/csv_decision2/options.rb', line 46</span>
421
439
 
422
440
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_normalize'>normalize</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
423
441
  <span class='id identifier rubyid_validate'>validate</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
424
442
  <span class='id identifier rubyid_default'>default</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
425
443
  <span class='kw'>end</span></pre>
426
- </td>
427
- </tr>
428
- </table>
429
- </div>
430
-
431
- </div>
444
+ </td>
445
+ </tr>
446
+ </table>
447
+ </div>
432
448
 
433
- </div>
449
+ </div>
434
450
 
435
- <div id="footer">
436
- Generated on Sun Feb 11 10:26:07 2018 by
437
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
438
- 0.9.12 (ruby-2.4.0).
439
- </div>
451
+ </div>
440
452
 
453
+ <div id="footer">
454
+ Generated on Sun Feb 11 10:26:07 2018 by
455
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
456
+ 0.9.12 (ruby-2.4.0).
441
457
  </div>
442
- </body>
443
- </html>
458
+
459
+ </div>
460
+ </body>
461
+
462
+ </html>