csv_decision2 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
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
data/doc/CSVDecision.html CHANGED
@@ -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
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: CSVDecision
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";
19
- relpath = '';
20
- </script>
18
+ <script type="text/javascript" charset="utf-8">
19
+ pathId = "CSVDecision";
20
+ relpath = '';
21
+ </script>
21
22
 
22
23
 
23
24
  <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
@@ -25,597 +26,667 @@
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 (C)</a> &raquo;
42
+
43
+
44
+ <span class="title">CSVDecision</span>
45
+
46
+ </div>
47
+
48
+ <div id="search">
49
+
50
+ <a class="full_list_link" id="class_list_link" href="class_list.html">
51
+
52
+ <svg width="24" height="24">
53
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
55
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
56
+ </svg>
57
+ </a>
58
+
59
+ </div>
60
+ <div class="clear"></div>
33
61
  </div>
34
62
 
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="_index.html">Index (C)</a> &raquo;
40
-
41
-
42
- <span class="title">CSVDecision</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>
63
+ <div id="content">
64
+ <h1>Module: CSVDecision
65
+
66
+
67
+
68
+ </h1>
69
+ <div class="box_info">
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ <dl>
82
+ <dt>Defined in:</dt>
83
+ <dd>lib/csv_decision2.rb<span class="defines">,<br />
84
+ lib/csv_decision2/data.rb,<br /> lib/csv_decision2/load.rb,<br /> lib/csv_decision2/scan.rb,<br />
85
+ lib/csv_decision2/index.rb,<br /> lib/csv_decision2/input.rb,<br /> lib/csv_decision2/parse.rb,<br />
86
+ lib/csv_decision2/paths.rb,<br /> lib/csv_decision2/table.rb,<br /> lib/csv_decision2/header.rb,<br />
87
+ lib/csv_decision2/result.rb,<br /> lib/csv_decision2/columns.rb,<br /> lib/csv_decision2/options.rb,<br />
88
+ lib/csv_decision2/decision.rb,<br /> lib/csv_decision2/defaults.rb,<br />
89
+ lib/csv_decision2/matchers.rb,<br /> lib/csv_decision2/scan_row.rb,<br />
90
+ lib/csv_decision2/validate.rb,<br /> lib/csv_decision2/dictionary.rb,<br />
91
+ lib/csv_decision2/matchers/guard.rb,<br /> lib/csv_decision2/matchers/range.rb,<br />
92
+ lib/csv_decision2/matchers/symbol.rb,<br /> lib/csv_decision2/matchers/numeric.rb,<br />
93
+ lib/csv_decision2/matchers/pattern.rb,<br /> lib/csv_decision2/matchers/constant.rb,<br />
94
+ lib/csv_decision2/matchers/function.rb</span>
95
+ </dd>
96
+ </dl>
97
+
60
98
  </div>
61
99
 
62
- <div id="content"><h1>Module: CSVDecision
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
- <dl>
80
- <dt>Defined in:</dt>
81
- <dd>lib/csv_decision.rb<span class="defines">,<br />
82
- lib/csv_decision/data.rb,<br /> lib/csv_decision/load.rb,<br /> lib/csv_decision/scan.rb,<br /> lib/csv_decision/index.rb,<br /> lib/csv_decision/input.rb,<br /> lib/csv_decision/parse.rb,<br /> lib/csv_decision/paths.rb,<br /> lib/csv_decision/table.rb,<br /> lib/csv_decision/header.rb,<br /> lib/csv_decision/result.rb,<br /> lib/csv_decision/columns.rb,<br /> lib/csv_decision/options.rb,<br /> lib/csv_decision/decision.rb,<br /> lib/csv_decision/defaults.rb,<br /> lib/csv_decision/matchers.rb,<br /> lib/csv_decision/scan_row.rb,<br /> lib/csv_decision/validate.rb,<br /> lib/csv_decision/dictionary.rb,<br /> lib/csv_decision/matchers/guard.rb,<br /> lib/csv_decision/matchers/range.rb,<br /> lib/csv_decision/matchers/symbol.rb,<br /> lib/csv_decision/matchers/numeric.rb,<br /> lib/csv_decision/matchers/pattern.rb,<br /> lib/csv_decision/matchers/constant.rb,<br /> lib/csv_decision/matchers/function.rb</span>
83
- </dd>
84
- </dl>
85
-
86
- </div>
87
-
88
- <h2>Overview</h2><div class="docstring">
89
- <div class="discussion">
90
-
91
- <p>CSV Decision: CSV based Ruby decision tables. Created December 2017. See
92
- LICENSE and README.md for details.</p>
100
+ <h2>Overview</h2>
101
+ <div class="docstring">
102
+ <div class="discussion">
93
103
 
104
+ <p>CSV Decision: CSV based Ruby decision tables. Created December 2017. See
105
+ LICENSE and README.md for details.</p>
106
+
107
+
108
+ </div>
109
+ </div>
110
+ <div class="tags">
111
+
112
+ <p class="tag_title">Author:</p>
113
+ <ul class="author">
114
+
115
+ <li>
116
+
117
+
118
+
119
+
120
+
121
+ <div class='inline'>
122
+ <p>Brett Vickers &lt;brett@phillips-vickers.com&gt;</p>
123
+ </div>
124
+
125
+ </li>
126
+
127
+ </ul>
128
+
129
+ </div>
130
+ <h2>Defined Under Namespace</h2>
131
+ <p class="children">
132
+
133
+
134
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="CSVDecision/Data.html"
135
+ title="CSVDecision2::Data (module)">Data</a></span>, <span class='object_link'><a
136
+ href="CSVDecision/Defaults.html" title="CSVDecision2::Defaults (module)">Defaults</a></span>, <span
137
+ class='object_link'><a href="CSVDecision/Dictionary.html"
138
+ title="CSVDecision2::Dictionary (module)">Dictionary</a></span>, <span class='object_link'><a
139
+ href="CSVDecision/Header.html" title="CSVDecision2::Header (module)">Header</a></span>, <span
140
+ class='object_link'><a href="CSVDecision/Input.html" title="CSVDecision2::Input (module)">Input</a></span>,
141
+ <span class='object_link'><a href="CSVDecision/Load.html" title="CSVDecision2::Load (module)">Load</a></span>,
142
+ <span class='object_link'><a href="CSVDecision/Options.html"
143
+ title="CSVDecision2::Options (module)">Options</a></span>, <span class='object_link'><a
144
+ href="CSVDecision/Parse.html" title="CSVDecision2::Parse (module)">Parse</a></span>, <span
145
+ class='object_link'><a href="CSVDecision/Validate.html"
146
+ title="CSVDecision2::Validate (module)">Validate</a></span>
147
+
148
+
149
+
150
+ <strong class="classes">Classes:</strong> <span class='object_link'><a
151
+ href="CSVDecision/CellValidationError.html"
152
+ title="CSVDecision2::CellValidationError (class)">CellValidationError</a></span>, <span
153
+ class='object_link'><a href="CSVDecision/Columns.html"
154
+ title="CSVDecision2::Columns (class)">Columns</a></span>, <span class='object_link'><a
155
+ href="CSVDecision/Decision.html" title="CSVDecision2::Decision (class)">Decision</a></span>, <span
156
+ class='object_link'><a href="CSVDecision/Error.html" title="CSVDecision2::Error (class)">Error</a></span>,
157
+ <span class='object_link'><a href="CSVDecision/FileError.html"
158
+ title="CSVDecision2::FileError (class)">FileError</a></span>, <span class='object_link'><a
159
+ href="CSVDecision/Index.html" title="CSVDecision2::Index (class)">Index</a></span>, <span
160
+ class='object_link'><a href="CSVDecision/Matchers.html"
161
+ title="CSVDecision2::Matchers (class)">Matchers</a></span>, <span class='object_link'><a
162
+ href="CSVDecision/Paths.html" title="CSVDecision2::Paths (class)">Paths</a></span>, <span
163
+ class='object_link'><a href="CSVDecision/Result.html" title="CSVDecision2::Result (class)">Result</a></span>,
164
+ <span class='object_link'><a href="CSVDecision/Scan.html" title="CSVDecision2::Scan (class)">Scan</a></span>,
165
+ <span class='object_link'><a href="CSVDecision/ScanRow.html"
166
+ title="CSVDecision2::ScanRow (class)">ScanRow</a></span>, <span class='object_link'><a
167
+ href="CSVDecision/Table.html" title="CSVDecision2::Table (class)">Table</a></span>, <span
168
+ class='object_link'><a href="CSVDecision/TableValidationError.html"
169
+ title="CSVDecision2::TableValidationError (class)">TableValidationError</a></span>
170
+
171
+
172
+ </p>
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+ <h2>
182
+ Class Method Summary
183
+ <small><a href="#" class="summary_toggle">collapse</a></small>
184
+ </h2>
185
+
186
+ <ul class="summary">
94
187
 
95
- </div>
96
- </div>
97
- <div class="tags">
98
-
99
- <p class="tag_title">Author:</p>
100
- <ul class="author">
101
-
102
- <li>
103
-
104
-
105
-
106
-
107
-
108
- <div class='inline'>
109
- <p>Brett Vickers &lt;brett@phillips-vickers.com&gt;</p>
110
- </div>
111
-
112
- </li>
113
-
114
- </ul>
115
-
116
- </div><h2>Defined Under Namespace</h2>
117
- <p class="children">
118
-
119
-
120
- <strong class="modules">Modules:</strong> <span class='object_link'><a href="CSVDecision/Data.html" title="CSVDecision::Data (module)">Data</a></span>, <span class='object_link'><a href="CSVDecision/Defaults.html" title="CSVDecision::Defaults (module)">Defaults</a></span>, <span class='object_link'><a href="CSVDecision/Dictionary.html" title="CSVDecision::Dictionary (module)">Dictionary</a></span>, <span class='object_link'><a href="CSVDecision/Header.html" title="CSVDecision::Header (module)">Header</a></span>, <span class='object_link'><a href="CSVDecision/Input.html" title="CSVDecision::Input (module)">Input</a></span>, <span class='object_link'><a href="CSVDecision/Load.html" title="CSVDecision::Load (module)">Load</a></span>, <span class='object_link'><a href="CSVDecision/Options.html" title="CSVDecision::Options (module)">Options</a></span>, <span class='object_link'><a href="CSVDecision/Parse.html" title="CSVDecision::Parse (module)">Parse</a></span>, <span class='object_link'><a href="CSVDecision/Validate.html" title="CSVDecision::Validate (module)">Validate</a></span>
121
-
122
-
123
-
124
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="CSVDecision/CellValidationError.html" title="CSVDecision::CellValidationError (class)">CellValidationError</a></span>, <span class='object_link'><a href="CSVDecision/Columns.html" title="CSVDecision::Columns (class)">Columns</a></span>, <span class='object_link'><a href="CSVDecision/Decision.html" title="CSVDecision::Decision (class)">Decision</a></span>, <span class='object_link'><a href="CSVDecision/Error.html" title="CSVDecision::Error (class)">Error</a></span>, <span class='object_link'><a href="CSVDecision/FileError.html" title="CSVDecision::FileError (class)">FileError</a></span>, <span class='object_link'><a href="CSVDecision/Index.html" title="CSVDecision::Index (class)">Index</a></span>, <span class='object_link'><a href="CSVDecision/Matchers.html" title="CSVDecision::Matchers (class)">Matchers</a></span>, <span class='object_link'><a href="CSVDecision/Paths.html" title="CSVDecision::Paths (class)">Paths</a></span>, <span class='object_link'><a href="CSVDecision/Result.html" title="CSVDecision::Result (class)">Result</a></span>, <span class='object_link'><a href="CSVDecision/Scan.html" title="CSVDecision::Scan (class)">Scan</a></span>, <span class='object_link'><a href="CSVDecision/ScanRow.html" title="CSVDecision::ScanRow (class)">ScanRow</a></span>, <span class='object_link'><a href="CSVDecision/Table.html" title="CSVDecision::Table (class)">Table</a></span>, <span class='object_link'><a href="CSVDecision/TableValidationError.html" title="CSVDecision::TableValidationError (class)">TableValidationError</a></span>
125
-
126
-
127
- </p>
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
- <h2>
137
- Class Method Summary
138
- <small><a href="#" class="summary_toggle">collapse</a></small>
139
- </h2>
140
-
141
- <ul class="summary">
142
-
143
188
  <li class="public ">
144
- <span class="summary_signature">
145
-
146
- <a href="#load-class_method" title="load (class method)">.<strong>load</strong>(path, options = {}) &#x21d2; Hash{Symbol=&gt;&lt;CSVDecision::Table&gt;} </a>
147
-
148
-
149
-
150
- </span>
151
-
152
-
153
-
154
-
155
-
156
-
157
-
158
-
159
-
160
- <span class="summary_desc"><div class='inline'>
161
- <p>Load all the CSV files located in the designated folder path.</p>
162
- </div></span>
163
-
164
- </li>
165
-
166
-
189
+ <span class="summary_signature">
190
+
191
+ <a href="#load-class_method" title="load (class method)">.<strong>load</strong>(path, options = {}) &#x21d2;
192
+ Hash{Symbol=&gt;&lt;CSVDecision2::Table&gt;} </a>
193
+
194
+
195
+
196
+ </span>
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+ <span class="summary_desc">
207
+ <div class='inline'>
208
+ <p>Load all the CSV files located in the designated folder path.</p>
209
+ </div>
210
+ </span>
211
+
212
+ </li>
213
+
214
+
167
215
  <li class="public ">
168
- <span class="summary_signature">
169
-
170
- <a href="#parse-class_method" title="parse (class method)">.<strong>parse</strong>(data, options = {}) &#x21d2; CSVDecision::Table </a>
171
-
172
-
173
-
174
- </span>
175
-
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
- <span class="summary_desc"><div class='inline'>
185
- <p>Builds a decision table from the input data - which may either be a file,
186
- CSV string or an array of arrays.</p>
187
- </div></span>
188
-
189
- </li>
190
-
191
-
216
+ <span class="summary_signature">
217
+
218
+ <a href="#parse-class_method" title="parse (class method)">.<strong>parse</strong>(data, options = {})
219
+ &#x21d2; CSVDecision2::Table </a>
220
+
221
+
222
+
223
+ </span>
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+
233
+ <span class="summary_desc">
234
+ <div class='inline'>
235
+ <p>Builds a decision table from the input data - which may either be a file,
236
+ CSV string or an array of arrays.</p>
237
+ </div>
238
+ </span>
239
+
240
+ </li>
241
+
242
+
192
243
  <li class="public ">
193
- <span class="summary_signature">
194
-
195
- <a href="#root-class_method" title="root (class method)">.<strong>root</strong> &#x21d2; String </a>
196
-
244
+ <span class="summary_signature">
197
245
 
198
-
199
- </span>
200
-
201
-
202
-
203
-
204
-
205
-
206
-
246
+ <a href="#root-class_method" title="root (class method)">.<strong>root</strong> &#x21d2; String </a>
207
247
 
208
-
209
- <span class="summary_desc"><div class='inline'>
210
- <p>Gem project&#39;s root directory.</p>
211
- </div></span>
212
-
213
- </li>
214
248
 
215
-
216
- </ul>
217
-
218
249
 
250
+ </span>
219
251
 
220
252
 
221
- <div id="class_method_details" class="method_details_list">
222
- <h2>Class Method Details</h2>
223
253
 
224
-
225
- <div class="method_details first">
226
- <h3 class="signature first" id="load-class_method">
227
-
228
- .<strong>load</strong>(path, options = {}) &#x21d2; <tt>Hash{Symbol=&gt;&lt;<span class='object_link'><a href="CSVDecision/Table.html" title="CSVDecision::Table (class)">CSVDecision::Table</a></span>&gt;}</tt>
229
-
230
254
 
231
-
232
255
 
233
-
234
- </h3><div class="docstring">
235
- <div class="discussion">
236
-
237
- <p>Load all the CSV files located in the designated folder path.</p>
238
256
 
239
257
 
240
- </div>
241
- </div>
242
- <div class="tags">
243
- <p class="tag_title">Parameters:</p>
244
- <ul class="param">
245
-
246
- <li>
247
-
248
- <span class='name'>path</span>
249
-
250
-
251
- <span class='type'>(<tt>Pathname</tt>)</span>
252
-
253
-
254
-
255
- &mdash;
256
- <div class='inline'>
257
- <p>Directory containing CSV decision table files.</p>
258
- </div>
259
-
260
- </li>
261
-
262
- <li>
263
-
264
- <span class='name'>options</span>
265
-
266
-
267
- <span class='type'>(<tt>Hash{Symbol=&gt;Object}</tt>)</span>
268
-
269
-
270
- <em class="default">(defaults to: <tt>{}</tt>)</em>
271
-
272
-
273
- &mdash;
274
- <div class='inline'>
275
- <p>Options hash controlling how the table is parsed and interpreted.</p>
276
- </div>
277
-
278
- </li>
279
-
280
- </ul>
281
-
282
- <p class="tag_title">Returns:</p>
283
- <ul class="return">
284
-
285
- <li>
286
-
287
-
288
- <span class='type'>(<tt>Hash{Symbol=&gt;&lt;<span class='object_link'><a href="CSVDecision/Table.html" title="CSVDecision::Table (class)">CSVDecision::Table</a></span>&gt;}</tt>)</span>
289
-
290
-
291
-
292
- &mdash;
293
- <div class='inline'>
294
- <p>Hash of decision tables keyed by the CSV file&#39;s symbolized base name.</p>
295
- </div>
296
-
297
- </li>
298
-
299
- </ul>
300
- <p class="tag_title">Raises:</p>
301
- <ul class="raise">
302
-
303
- <li>
304
-
305
-
306
- <span class='type'>(<tt>ArgumentError</tt>)</span>
307
-
308
-
309
-
310
- &mdash;
311
- <div class='inline'>
312
- <p>Invalid path name or folder.</p>
313
- </div>
314
-
315
- </li>
316
-
317
- </ul>
318
-
319
- </div><table class="source_code">
320
- <tr>
321
- <td>
322
- <pre class="lines">
258
+
259
+
260
+ <span class="summary_desc">
261
+ <div class='inline'>
262
+ <p>Gem project&#39;s root directory.</p>
263
+ </div>
264
+ </span>
265
+
266
+ </li>
267
+
268
+
269
+ </ul>
270
+
271
+
272
+
273
+
274
+ <div id="class_method_details" class="method_details_list">
275
+ <h2>Class Method Details</h2>
276
+
277
+
278
+ <div class="method_details first">
279
+ <h3 class="signature first" id="load-class_method">
280
+
281
+ .<strong>load</strong>(path, options = {}) &#x21d2; <tt>Hash{Symbol=&gt;&lt;<span class='object_link'><a
282
+ href="CSVDecision/Table.html"
283
+ title="CSVDecision2::Table (class)">CSVDecision2::Table</a></span>&gt;}</tt>
284
+
285
+
286
+
287
+
288
+
289
+ </h3>
290
+ <div class="docstring">
291
+ <div class="discussion">
292
+
293
+ <p>Load all the CSV files located in the designated folder path.</p>
294
+
295
+
296
+ </div>
297
+ </div>
298
+ <div class="tags">
299
+ <p class="tag_title">Parameters:</p>
300
+ <ul class="param">
301
+
302
+ <li>
303
+
304
+ <span class='name'>path</span>
305
+
306
+
307
+ <span class='type'>(<tt>Pathname</tt>)</span>
308
+
309
+
310
+
311
+ &mdash;
312
+ <div class='inline'>
313
+ <p>Directory containing CSV decision table files.</p>
314
+ </div>
315
+
316
+ </li>
317
+
318
+ <li>
319
+
320
+ <span class='name'>options</span>
321
+
322
+
323
+ <span class='type'>(<tt>Hash{Symbol=&gt;Object}</tt>)</span>
324
+
325
+
326
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
327
+
328
+
329
+ &mdash;
330
+ <div class='inline'>
331
+ <p>Options hash controlling how the table is parsed and interpreted.</p>
332
+ </div>
333
+
334
+ </li>
335
+
336
+ </ul>
337
+
338
+ <p class="tag_title">Returns:</p>
339
+ <ul class="return">
340
+
341
+ <li>
342
+
343
+
344
+ <span class='type'>(<tt>Hash{Symbol=&gt;&lt;<span class='object_link'><a href="CSVDecision/Table.html"
345
+ title="CSVDecision2::Table (class)">CSVDecision2::Table</a></span>&gt;}</tt>)</span>
346
+
347
+
348
+
349
+ &mdash;
350
+ <div class='inline'>
351
+ <p>Hash of decision tables keyed by the CSV file&#39;s symbolized base name.</p>
352
+ </div>
353
+
354
+ </li>
355
+
356
+ </ul>
357
+ <p class="tag_title">Raises:</p>
358
+ <ul class="raise">
359
+
360
+ <li>
361
+
362
+
363
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
364
+
365
+
366
+
367
+ &mdash;
368
+ <div class='inline'>
369
+ <p>Invalid path name or folder.</p>
370
+ </div>
371
+
372
+ </li>
373
+
374
+ </ul>
375
+
376
+ </div>
377
+ <table class="source_code">
378
+ <tr>
379
+ <td>
380
+ <pre class="lines">
323
381
 
324
382
 
325
383
  15
326
384
  16
327
385
  17</pre>
328
- </td>
329
- <td>
330
- <pre class="code"><span class="info file"># File 'lib/csv_decision/load.rb', line 15</span>
386
+ </td>
387
+ <td>
388
+ <pre class="code"><span class="info file"># File 'lib/csv_decision2/load.rb', line 15</span>
331
389
 
332
390
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_load'>load</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
333
- <span class='const'><span class='object_link'><a href="CSVDecision/Load.html" title="CSVDecision::Load (module)">Load</a></span></span><span class='period'>.</span><span class='id identifier rubyid_path'><span class='object_link'><a href="CSVDecision/Load.html#path-class_method" title="CSVDecision::Load.path (method)">path</a></span></span><span class='lparen'>(</span><span class='label'>path:</span> <span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='label'>options:</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
391
+ <span class='const'><span class='object_link'><a href="CSVDecision/Load.html" title="CSVDecision2::Load (module)">Load</a></span></span><span class='period'>.</span><span class='id identifier rubyid_path'><span class='object_link'><a href="CSVDecision/Load.html#path-class_method" title="CSVDecision2::Load.path (method)">path</a></span></span><span class='lparen'>(</span><span class='label'>path:</span> <span class='id identifier rubyid_path'>path</span><span class='comma'>,</span> <span class='label'>options:</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
334
392
  <span class='kw'>end</span></pre>
335
- </td>
336
- </tr>
337
- </table>
338
- </div>
339
-
340
- <div class="method_details ">
341
- <h3 class="signature " id="parse-class_method">
342
-
343
- .<strong>parse</strong>(data, options = {}) &#x21d2; <tt><span class='object_link'><a href="CSVDecision/Table.html" title="CSVDecision::Table (class)">CSVDecision::Table</a></span></tt>
344
-
345
-
346
-
347
-
348
-
349
- </h3><div class="docstring">
350
- <div class="discussion">
351
-
352
- <p>Builds a decision table from the input data - which may either be a file,
353
- CSV string or an array of arrays.</p>
393
+ </td>
394
+ </tr>
395
+ </table>
396
+ </div>
354
397
 
398
+ <div class="method_details ">
399
+ <h3 class="signature " id="parse-class_method">
355
400
 
356
- </div>
357
- </div>
358
- <div class="tags">
359
-
360
- <div class="examples">
361
- <p class="tag_title">Examples:</p>
362
-
363
-
364
- <p class="example_title"><div class='inline'>
365
- <p>Simple Example</p>
366
- </div></p>
367
-
368
- <pre class="example code"><code>If you have cloned the gem&#39;s git repo, then you can run:
369
- table = CSVDecision.parse(Pathname(&#39;spec/data/valid/simple_example.csv&#39;))
370
- #=&gt; CSVDecision::Table
401
+ .<strong>parse</strong>(data, options = {}) &#x21d2; <tt><span class='object_link'><a
402
+ href="CSVDecision/Table.html" title="CSVDecision2::Table (class)">CSVDecision2::Table</a></span></tt>
403
+
404
+
405
+
406
+
407
+
408
+ </h3>
409
+ <div class="docstring">
410
+ <div class="discussion">
411
+
412
+ <p>Builds a decision table from the input data - which may either be a file,
413
+ CSV string or an array of arrays.</p>
414
+
415
+
416
+ </div>
417
+ </div>
418
+ <div class="tags">
419
+
420
+ <div class="examples">
421
+ <p class="tag_title">Examples:</p>
422
+
423
+
424
+ <p class="example_title">
425
+ <div class='inline'>
426
+ <p>Simple Example</p>
427
+ </div>
428
+ </p>
429
+
430
+ <pre class="example code"><code>If you have cloned the gem&#39;s git repo, then you can run:
431
+ table = CSVDecision2.parse(Pathname(&#39;spec/data/valid/simple_example.csv&#39;))
432
+ #=&gt; CSVDecision2::Table
371
433
  table.decide(topic: &#39;finance&#39;, region: &#39;Europe&#39;) #=&gt; team_member: &#39;Donald&#39;</code></pre>
372
-
373
- </div>
374
- <p class="tag_title">Parameters:</p>
375
- <ul class="param">
376
-
377
- <li>
378
-
379
- <span class='name'>data</span>
380
-
381
-
382
- <span class='type'>(<tt>Pathname</tt>, <tt>File</tt>, <tt>Array&lt;Array&lt;String&gt;&gt;</tt>, <tt>String</tt>)</span>
383
-
384
-
385
-
386
- &mdash;
387
- <div class='inline'>
388
- <p>input data given as a CSV file, array of arrays or CSV string.</p>
389
- </div>
390
-
391
- </li>
392
-
393
- <li>
394
-
395
- <span class='name'>options</span>
396
-
397
-
398
- <span class='type'>(<tt>Hash{Symbol=&gt;Object}</tt>)</span>
399
-
400
-
401
- <em class="default">(defaults to: <tt>{}</tt>)</em>
402
-
403
-
404
- &mdash;
405
- <div class='inline'>
406
- <p>Options hash controlling how the table is parsed and interpreted.</p>
407
- </div>
408
-
409
- </li>
410
-
411
- </ul>
412
-
413
-
414
-
415
-
416
-
417
-
418
- <p class="tag_title">Options Hash (<tt>options</tt>):</p>
419
- <ul class="option">
420
-
421
- <li>
422
- <span class="name">:first_match</span>
423
- <span class="type">(<tt>Boolean</tt>)</span>
424
- <span class="default">
425
-
426
- </span>
427
-
428
- &mdash; <div class='inline'>
429
- <p>Stop scanning after finding the first row match.</p>
430
- </div>
431
-
432
- </li>
433
-
434
- <li>
435
- <span class="name">:regexp_implicit</span>
436
- <span class="type">(<tt>Boolean</tt>)</span>
437
- <span class="default">
438
-
439
- </span>
440
-
441
- &mdash; <div class='inline'>
442
- <p>Make regular expressions implicit rather than requiring the comparator =~.
443
- (Use with care.)</p>
444
- </div>
445
-
446
- </li>
447
-
448
- <li>
449
- <span class="name">:text_only</span>
450
- <span class="type">(<tt>Boolean</tt>)</span>
451
- <span class="default">
452
-
453
- </span>
454
-
455
- &mdash; <div class='inline'>
456
- <p>All cells treated as simple strings by turning off all special matchers.</p>
457
- </div>
458
-
459
- </li>
460
-
461
- <li>
462
- <span class="name">:matchers</span>
463
- <span class="type">(<tt>Array&lt;<span class='object_link'><a href="CSVDecision/Matchers/Matcher.html" title="CSVDecision::Matchers::Matcher (class)">Matchers::Matcher</a></span>&gt;</tt>)</span>
464
- <span class="default">
465
-
466
- </span>
467
-
468
- &mdash; <div class='inline'>
469
- <p>May be used to control the inclusion and ordering of special matchers.
470
- (Advanced feature, use with care.)</p>
471
- </div>
472
-
473
- </li>
474
-
475
- </ul>
476
-
477
-
478
- <p class="tag_title">Returns:</p>
479
- <ul class="return">
480
-
481
- <li>
482
-
483
-
484
- <span class='type'>(<tt><span class='object_link'><a href="CSVDecision/Table.html" title="CSVDecision::Table (class)">CSVDecision::Table</a></span></tt>)</span>
485
-
486
-
487
-
488
- &mdash;
489
- <div class='inline'>
490
- <p>Resulting decision table.</p>
491
- </div>
492
-
493
- </li>
494
-
495
- </ul>
496
- <p class="tag_title">Raises:</p>
497
- <ul class="raise">
498
-
499
- <li>
500
-
501
-
502
- <span class='type'>(<tt><span class='object_link'><a href="CSVDecision/CellValidationError.html" title="CSVDecision::CellValidationError (class)">CSVDecision::CellValidationError</a></span></tt>)</span>
503
-
504
-
505
-
506
- &mdash;
507
- <div class='inline'>
508
- <p>Table parsing cell validation error.</p>
509
- </div>
510
-
511
- </li>
512
-
513
- <li>
514
-
515
-
516
- <span class='type'>(<tt><span class='object_link'><a href="CSVDecision/FileError.html" title="CSVDecision::FileError (class)">CSVDecision::FileError</a></span></tt>)</span>
517
-
518
-
519
-
520
- &mdash;
521
- <div class='inline'>
522
- <p>Table parsing error for a named CSV file.</p>
523
- </div>
524
-
525
- </li>
526
-
527
- </ul>
528
-
529
- </div><table class="source_code">
530
- <tr>
531
- <td>
532
- <pre class="lines">
434
+
435
+ </div>
436
+ <p class="tag_title">Parameters:</p>
437
+ <ul class="param">
438
+
439
+ <li>
440
+
441
+ <span class='name'>data</span>
442
+
443
+
444
+ <span class='type'>(<tt>Pathname</tt>, <tt>File</tt>, <tt>Array&lt;Array&lt;String&gt;&gt;</tt>,
445
+ <tt>String</tt>)</span>
446
+
447
+
448
+
449
+ &mdash;
450
+ <div class='inline'>
451
+ <p>input data given as a CSV file, array of arrays or CSV string.</p>
452
+ </div>
453
+
454
+ </li>
455
+
456
+ <li>
457
+
458
+ <span class='name'>options</span>
459
+
460
+
461
+ <span class='type'>(<tt>Hash{Symbol=&gt;Object}</tt>)</span>
462
+
463
+
464
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
465
+
466
+
467
+ &mdash;
468
+ <div class='inline'>
469
+ <p>Options hash controlling how the table is parsed and interpreted.</p>
470
+ </div>
471
+
472
+ </li>
473
+
474
+ </ul>
475
+
476
+
477
+
478
+
479
+
480
+
481
+ <p class="tag_title">Options Hash (<tt>options</tt>):</p>
482
+ <ul class="option">
483
+
484
+ <li>
485
+ <span class="name">:first_match</span>
486
+ <span class="type">(<tt>Boolean</tt>)</span>
487
+ <span class="default">
488
+
489
+ </span>
490
+
491
+ &mdash; <div class='inline'>
492
+ <p>Stop scanning after finding the first row match.</p>
493
+ </div>
494
+
495
+ </li>
496
+
497
+ <li>
498
+ <span class="name">:regexp_implicit</span>
499
+ <span class="type">(<tt>Boolean</tt>)</span>
500
+ <span class="default">
501
+
502
+ </span>
503
+
504
+ &mdash; <div class='inline'>
505
+ <p>Make regular expressions implicit rather than requiring the comparator =~.
506
+ (Use with care.)</p>
507
+ </div>
508
+
509
+ </li>
510
+
511
+ <li>
512
+ <span class="name">:text_only</span>
513
+ <span class="type">(<tt>Boolean</tt>)</span>
514
+ <span class="default">
515
+
516
+ </span>
517
+
518
+ &mdash; <div class='inline'>
519
+ <p>All cells treated as simple strings by turning off all special matchers.</p>
520
+ </div>
521
+
522
+ </li>
523
+
524
+ <li>
525
+ <span class="name">:matchers</span>
526
+ <span class="type">(<tt>Array&lt;<span class='object_link'><a href="CSVDecision/Matchers/Matcher.html"
527
+ title="CSVDecision2::Matchers::Matcher (class)">Matchers::Matcher</a></span>&gt;</tt>)</span>
528
+ <span class="default">
529
+
530
+ </span>
531
+
532
+ &mdash; <div class='inline'>
533
+ <p>May be used to control the inclusion and ordering of special matchers.
534
+ (Advanced feature, use with care.)</p>
535
+ </div>
536
+
537
+ </li>
538
+
539
+ </ul>
540
+
541
+
542
+ <p class="tag_title">Returns:</p>
543
+ <ul class="return">
544
+
545
+ <li>
546
+
547
+
548
+ <span class='type'>(<tt><span class='object_link'><a href="CSVDecision/Table.html"
549
+ title="CSVDecision2::Table (class)">CSVDecision2::Table</a></span></tt>)</span>
550
+
551
+
552
+
553
+ &mdash;
554
+ <div class='inline'>
555
+ <p>Resulting decision table.</p>
556
+ </div>
557
+
558
+ </li>
559
+
560
+ </ul>
561
+ <p class="tag_title">Raises:</p>
562
+ <ul class="raise">
563
+
564
+ <li>
565
+
566
+
567
+ <span class='type'>(<tt><span class='object_link'><a href="CSVDecision/CellValidationError.html"
568
+ title="CSVDecision2::CellValidationError (class)">CSVDecision2::CellValidationError</a></span></tt>)</span>
569
+
570
+
571
+
572
+ &mdash;
573
+ <div class='inline'>
574
+ <p>Table parsing cell validation error.</p>
575
+ </div>
576
+
577
+ </li>
578
+
579
+ <li>
580
+
581
+
582
+ <span class='type'>(<tt><span class='object_link'><a href="CSVDecision/FileError.html"
583
+ title="CSVDecision2::FileError (class)">CSVDecision2::FileError</a></span></tt>)</span>
584
+
585
+
586
+
587
+ &mdash;
588
+ <div class='inline'>
589
+ <p>Table parsing error for a named CSV file.</p>
590
+ </div>
591
+
592
+ </li>
593
+
594
+ </ul>
595
+
596
+ </div>
597
+ <table class="source_code">
598
+ <tr>
599
+ <td>
600
+ <pre class="lines">
533
601
 
534
602
 
535
603
  47
536
604
  48
537
605
  49</pre>
538
- </td>
539
- <td>
540
- <pre class="code"><span class="info file"># File 'lib/csv_decision/parse.rb', line 47</span>
606
+ </td>
607
+ <td>
608
+ <pre class="code"><span class="info file"># File 'lib/csv_decision2/parse.rb', line 47</span>
541
609
 
542
610
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_parse'>parse</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
543
- <span class='const'><span class='object_link'><a href="CSVDecision/Parse.html" title="CSVDecision::Parse (module)">Parse</a></span></span><span class='period'>.</span><span class='id identifier rubyid_table'><span class='object_link'><a href="CSVDecision/Parse.html#table-class_method" title="CSVDecision::Parse.table (method)">table</a></span></span><span class='lparen'>(</span><span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>options:</span> <span class='const'><span class='object_link'><a href="CSVDecision/Options.html" title="CSVDecision::Options (module)">Options</a></span></span><span class='period'>.</span><span class='id identifier rubyid_normalize'><span class='object_link'><a href="CSVDecision/Options.html#normalize-class_method" title="CSVDecision::Options.normalize (method)">normalize</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rparen'>)</span>
611
+ <span class='const'><span class='object_link'><a href="CSVDecision/Parse.html" title="CSVDecision2::Parse (module)">Parse</a></span></span><span class='period'>.</span><span class='id identifier rubyid_table'><span class='object_link'><a href="CSVDecision/Parse.html#table-class_method" title="CSVDecision2::Parse.table (method)">table</a></span></span><span class='lparen'>(</span><span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>options:</span> <span class='const'><span class='object_link'><a href="CSVDecision/Options.html" title="CSVDecision2::Options (module)">Options</a></span></span><span class='period'>.</span><span class='id identifier rubyid_normalize'><span class='object_link'><a href="CSVDecision/Options.html#normalize-class_method" title="CSVDecision2::Options.normalize (method)">normalize</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rparen'>)</span>
544
612
  <span class='kw'>end</span></pre>
545
- </td>
546
- </tr>
547
- </table>
548
- </div>
549
-
550
- <div class="method_details ">
551
- <h3 class="signature " id="root-class_method">
552
-
553
- .<strong>root</strong> &#x21d2; <tt>String</tt>
554
-
555
-
556
-
557
-
558
-
559
- </h3><div class="docstring">
560
- <div class="discussion">
561
-
562
- <p>Returns gem project&#39;s root directory</p>
613
+ </td>
614
+ </tr>
615
+ </table>
616
+ </div>
563
617
 
618
+ <div class="method_details ">
619
+ <h3 class="signature " id="root-class_method">
620
+
621
+ .<strong>root</strong> &#x21d2; <tt>String</tt>
622
+
623
+
624
+
625
+
626
+
627
+ </h3>
628
+ <div class="docstring">
629
+ <div class="discussion">
630
+
631
+ <p>Returns gem project&#39;s root directory</p>
564
632
 
565
- </div>
566
- </div>
567
- <div class="tags">
568
-
569
- <p class="tag_title">Returns:</p>
570
- <ul class="return">
571
-
572
- <li>
573
-
574
-
575
- <span class='type'>(<tt>String</tt>)</span>
576
-
577
-
578
-
579
- &mdash;
580
- <div class='inline'>
581
- <p>gem project&#39;s root directory</p>
582
- </div>
583
-
584
- </li>
585
-
586
- </ul>
587
-
588
- </div><table class="source_code">
589
- <tr>
590
- <td>
591
- <pre class="lines">
633
+
634
+ </div>
635
+ </div>
636
+ <div class="tags">
637
+
638
+ <p class="tag_title">Returns:</p>
639
+ <ul class="return">
640
+
641
+ <li>
642
+
643
+
644
+ <span class='type'>(<tt>String</tt>)</span>
645
+
646
+
647
+
648
+ &mdash;
649
+ <div class='inline'>
650
+ <p>gem project&#39;s root directory</p>
651
+ </div>
652
+
653
+ </li>
654
+
655
+ </ul>
656
+
657
+ </div>
658
+ <table class="source_code">
659
+ <tr>
660
+ <td>
661
+ <pre class="lines">
592
662
 
593
663
 
594
664
  12
595
665
  13
596
666
  14</pre>
597
- </td>
598
- <td>
599
- <pre class="code"><span class="info file"># File 'lib/csv_decision.rb', line 12</span>
667
+ </td>
668
+ <td>
669
+ <pre class="code"><span class="info file"># File 'lib/csv_decision2.rb', line 12</span>
600
670
 
601
671
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_root'><span class='object_link'><a href="top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span>
602
672
  <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span> <span class='id identifier rubyid___dir__'>__dir__</span>
603
673
  <span class='kw'>end</span></pre>
604
- </td>
605
- </tr>
606
- </table>
607
- </div>
608
-
609
- </div>
674
+ </td>
675
+ </tr>
676
+ </table>
677
+ </div>
610
678
 
611
- </div>
679
+ </div>
612
680
 
613
- <div id="footer">
614
- Generated on Sun Feb 11 10:26:07 2018 by
615
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
616
- 0.9.12 (ruby-2.4.0).
617
- </div>
681
+ </div>
618
682
 
683
+ <div id="footer">
684
+ Generated on Sun Feb 11 10:26:07 2018 by
685
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
686
+ 0.9.12 (ruby-2.4.0).
619
687
  </div>
620
- </body>
621
- </html>
688
+
689
+ </div>
690
+ </body>
691
+
692
+ </html>