dbf 4.1.3 → 4.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/Gemfile +1 -0
  4. data/Gemfile.lock +63 -52
  5. data/LICENSE +1 -1
  6. data/README.md +109 -16
  7. data/docs/CNAME +1 -0
  8. data/docs/DBF.html +200 -0
  9. data/docs/DBF/Column.html +947 -0
  10. data/docs/DBF/Column/LengthError.html +124 -0
  11. data/docs/DBF/Column/NameError.html +124 -0
  12. data/docs/DBF/ColumnType.html +115 -0
  13. data/docs/DBF/ColumnType/Base.html +389 -0
  14. data/docs/DBF/ColumnType/Boolean.html +238 -0
  15. data/docs/DBF/ColumnType/Currency.html +238 -0
  16. data/docs/DBF/ColumnType/Date.html +242 -0
  17. data/docs/DBF/ColumnType/DateTime.html +246 -0
  18. data/docs/DBF/ColumnType/Double.html +238 -0
  19. data/docs/DBF/ColumnType/Float.html +238 -0
  20. data/docs/DBF/ColumnType/General.html +238 -0
  21. data/docs/DBF/ColumnType/Memo.html +246 -0
  22. data/docs/DBF/ColumnType/Nil.html +238 -0
  23. data/docs/DBF/ColumnType/Number.html +242 -0
  24. data/docs/DBF/ColumnType/SignedLong.html +238 -0
  25. data/docs/DBF/ColumnType/String.html +240 -0
  26. data/docs/DBF/Database.html +126 -0
  27. data/docs/DBF/Database/Foxpro.html +653 -0
  28. data/docs/DBF/Database/Table.html +346 -0
  29. data/docs/DBF/FileNotFoundError.html +124 -0
  30. data/docs/DBF/Header.html +723 -0
  31. data/docs/DBF/Memo.html +117 -0
  32. data/docs/DBF/Memo/Base.html +485 -0
  33. data/docs/DBF/Memo/Dbase3.html +242 -0
  34. data/docs/DBF/Memo/Dbase4.html +230 -0
  35. data/docs/DBF/Memo/Foxpro.html +268 -0
  36. data/docs/DBF/NoColumnsDefined.html +124 -0
  37. data/docs/DBF/Record.html +773 -0
  38. data/docs/DBF/Schema.html +980 -0
  39. data/docs/DBF/Table.html +1571 -0
  40. data/docs/_index.html +415 -0
  41. data/docs/class_list.html +51 -0
  42. data/docs/css/common.css +1 -0
  43. data/docs/css/full_list.css +58 -0
  44. data/docs/css/style.css +497 -0
  45. data/docs/file.README.html +359 -0
  46. data/docs/file_list.html +56 -0
  47. data/docs/frames.html +17 -0
  48. data/docs/index.html +359 -0
  49. data/docs/js/app.js +314 -0
  50. data/docs/js/full_list.js +216 -0
  51. data/docs/js/jquery.js +4 -0
  52. data/docs/method_list.html +675 -0
  53. data/docs/top-level-namespace.html +110 -0
  54. data/lib/dbf/column.rb +5 -4
  55. data/lib/dbf/column_type.rb +26 -0
  56. data/lib/dbf/database/foxpro.rb +7 -2
  57. data/lib/dbf/header.rb +11 -3
  58. data/lib/dbf/record.rb +5 -5
  59. data/lib/dbf/schema.rb +4 -3
  60. data/lib/dbf/table.rb +25 -11
  61. data/lib/dbf/version.rb +1 -1
  62. data/spec/dbf/file_formats_spec.rb +18 -0
  63. data/spec/fixtures/dbase_02.dbf +0 -0
  64. metadata +52 -6
  65. data/docs/supported_encodings.csv +0 -60
  66. data/docs/supported_types.markdown +0 -38
@@ -0,0 +1,126 @@
1
+ <!DOCTYPE html>
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: DBF::Database
8
+
9
+ &mdash; Documentation by YARD 0.9.26
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "DBF::Database";
19
+ relpath = '../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../_index.html">Index (D)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../DBF.html" title="DBF (module)">DBF</a></span></span>
41
+ &raquo;
42
+ <span class="title">Database</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>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: DBF::Database
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/dbf/database/foxpro.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+
89
+ <p>DBF::Database::Foxpro is the primary interface to a Visual Foxpro database container (.dbc file). When using this database container, long fieldnames are supported, and you can reference tables directly instead of instantiating Table objects yourself. Table references are created based on the filename, but it this class tries to correct the table filenames because they could be wrong for case sensitive filesystems, e.g. when a foxpro database is uploaded to a linux server.</p>
90
+
91
+
92
+ </div>
93
+ </div>
94
+ <div class="tags">
95
+
96
+
97
+ </div><h2>Defined Under Namespace</h2>
98
+ <p class="children">
99
+
100
+
101
+
102
+
103
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Database/Foxpro.html" title="DBF::Database::Foxpro (class)">Foxpro</a></span>, <span class='object_link'><a href="Database/Table.html" title="DBF::Database::Table (class)">Table</a></span>
104
+
105
+
106
+ </p>
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+ </div>
117
+
118
+ <div id="footer">
119
+ Generated on Sun Aug 8 16:19:08 2021 by
120
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
121
+ 0.9.26 (ruby-3.0.1).
122
+ </div>
123
+
124
+ </div>
125
+ </body>
126
+ </html>
@@ -0,0 +1,653 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: DBF::Database::Foxpro
8
+
9
+ &mdash; Documentation by YARD 0.9.26
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "DBF::Database::Foxpro";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../_index.html">Index (F)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../DBF.html" title="DBF (module)">DBF</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Database.html" title="DBF::Database (module)">Database</a></span></span>
41
+ &raquo;
42
+ <span class="title">Foxpro</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>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: DBF::Database::Foxpro
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">DBF::Database::Foxpro</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <dl>
96
+ <dt>Defined in:</dt>
97
+ <dd>lib/dbf/database/foxpro.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+ <h2>
111
+ Instance Method Summary
112
+ <small><a href="#" class="summary_toggle">collapse</a></small>
113
+ </h2>
114
+
115
+ <ul class="summary">
116
+
117
+ <li class="public ">
118
+ <span class="summary_signature">
119
+
120
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(path) &#x21d2; Foxpro </a>
121
+
122
+
123
+
124
+ </span>
125
+
126
+
127
+ <span class="note title constructor">constructor</span>
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+ <span class="summary_desc"><div class='inline'>
137
+ <p>Opens a DBF::Database::Foxpro Examples: # working with a database stored on the filesystem db = DBF::Database::Foxpro.new &#39;path_to_db/database.dbc&#39;.</p>
138
+ </div></span>
139
+
140
+ </li>
141
+
142
+
143
+ <li class="public ">
144
+ <span class="summary_signature">
145
+
146
+ <a href="#method_missing-instance_method" title="#method_missing (instance method)">#<strong>method_missing</strong>(method, *args) &#x21d2; Object </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>:nodoc:.</p>
162
+ </div></span>
163
+
164
+ </li>
165
+
166
+
167
+ <li class="public ">
168
+ <span class="summary_signature">
169
+
170
+ <a href="#respond_to_missing%3F-instance_method" title="#respond_to_missing? (instance method)">#<strong>respond_to_missing?</strong>(method) &#x21d2; Boolean </a>
171
+
172
+
173
+
174
+ </span>
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+ <span class="summary_desc"><div class='inline'></div></span>
185
+
186
+ </li>
187
+
188
+
189
+ <li class="public ">
190
+ <span class="summary_signature">
191
+
192
+ <a href="#table-instance_method" title="#table (instance method)">#<strong>table</strong>(name) &#x21d2; DBF::Table </a>
193
+
194
+
195
+
196
+ </span>
197
+
198
+
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+ <span class="summary_desc"><div class='inline'>
207
+ <p>Returns table with given name.</p>
208
+ </div></span>
209
+
210
+ </li>
211
+
212
+
213
+ <li class="public ">
214
+ <span class="summary_signature">
215
+
216
+ <a href="#table_names-instance_method" title="#table_names (instance method)">#<strong>table_names</strong> &#x21d2; Object </a>
217
+
218
+
219
+
220
+ </span>
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+ <span class="summary_desc"><div class='inline'></div></span>
231
+
232
+ </li>
233
+
234
+
235
+ <li class="public ">
236
+ <span class="summary_signature">
237
+
238
+ <a href="#table_path-instance_method" title="#table_path (instance method)">#<strong>table_path</strong>(name) &#x21d2; String </a>
239
+
240
+
241
+
242
+ </span>
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+ <span class="summary_desc"><div class='inline'>
253
+ <p>Searches the database directory for the table&#39;s dbf file and returns the absolute path.</p>
254
+ </div></span>
255
+
256
+ </li>
257
+
258
+
259
+ </ul>
260
+
261
+
262
+ <div id="constructor_details" class="method_details_list">
263
+ <h2>Constructor Details</h2>
264
+
265
+ <div class="method_details first">
266
+ <h3 class="signature first" id="initialize-instance_method">
267
+
268
+ #<strong>initialize</strong>(path) &#x21d2; <tt><span class='object_link'><a href="" title="DBF::Database::Foxpro (class)">Foxpro</a></span></tt>
269
+
270
+
271
+
272
+
273
+
274
+ </h3><div class="docstring">
275
+ <div class="discussion">
276
+
277
+ <p>Opens a DBF::Database::Foxpro Examples:</p>
278
+
279
+ <pre class="code ruby"><code class="ruby"> <span class='comment'># working with a database stored on the filesystem
280
+ </span> <span class='id identifier rubyid_db'>db</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../DBF.html" title="DBF (module)">DBF</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Database.html" title="DBF::Database (module)">Database</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="DBF::Database::Foxpro (class)">Foxpro</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>path_to_db/database.dbc</span><span class='tstring_end'>&#39;</span></span>
281
+
282
+ <span class='comment'># Calling a table
283
+ </span><span class='id identifier rubyid_contacts'>contacts</span> <span class='op'>=</span> <span class='id identifier rubyid_db'>db</span><span class='period'>.</span><span class='id identifier rubyid_contacts'>contacts</span><span class='period'>.</span><span class='id identifier rubyid_record'>record</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
284
+ </code></pre>
285
+
286
+
287
+ </div>
288
+ </div>
289
+ <div class="tags">
290
+ <p class="tag_title">Parameters:</p>
291
+ <ul class="param">
292
+
293
+ <li>
294
+
295
+ <span class='name'>path</span>
296
+
297
+
298
+ <span class='type'>(<tt>String</tt>)</span>
299
+
300
+
301
+
302
+ </li>
303
+
304
+ </ul>
305
+
306
+
307
+ </div><table class="source_code">
308
+ <tr>
309
+ <td>
310
+ <pre class="lines">
311
+
312
+
313
+ 21
314
+ 22
315
+ 23
316
+ 24
317
+ 25
318
+ 26
319
+ 27
320
+ 28</pre>
321
+ </td>
322
+ <td>
323
+ <pre class="code"><span class="info file"># File 'lib/dbf/database/foxpro.rb', line 21</span>
324
+
325
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
326
+ <span class='ivar'>@path</span> <span class='op'>=</span> <span class='id identifier rubyid_path'>path</span>
327
+ <span class='ivar'>@dirname</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='ivar'>@path</span><span class='rparen'>)</span>
328
+ <span class='ivar'>@db</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../../DBF.html" title="DBF (module)">DBF</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../Table.html" title="DBF::Table (class)">Table</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Table.html#initialize-instance_method" title="DBF::Table#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='ivar'>@path</span><span class='rparen'>)</span>
329
+ <span class='ivar'>@tables</span> <span class='op'>=</span> <span class='id identifier rubyid_extract_dbc_data'>extract_dbc_data</span>
330
+ <span class='kw'>rescue</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>ENOENT</span>
331
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../DBF.html" title="DBF (module)">DBF</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../FileNotFoundError.html" title="DBF::FileNotFoundError (class)">FileNotFoundError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>file not found: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_data'>data</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
332
+ <span class='kw'>end</span></pre>
333
+ </td>
334
+ </tr>
335
+ </table>
336
+ </div>
337
+
338
+ </div>
339
+ <div id="method_missing_details" class="method_details_list">
340
+ <h2>Dynamic Method Handling</h2>
341
+ <p class="notice this">
342
+ This class handles dynamic methods through the <tt>method_missing</tt> method
343
+
344
+ </p>
345
+
346
+ <div class="method_details first">
347
+ <h3 class="signature first" id="method_missing-instance_method">
348
+
349
+ #<strong>method_missing</strong>(method, *args) &#x21d2; <tt>Object</tt>
350
+
351
+
352
+
353
+
354
+
355
+ </h3><div class="docstring">
356
+ <div class="discussion">
357
+
358
+ <p>:nodoc:</p>
359
+
360
+
361
+ </div>
362
+ </div>
363
+ <div class="tags">
364
+
365
+
366
+ </div><table class="source_code">
367
+ <tr>
368
+ <td>
369
+ <pre class="lines">
370
+
371
+
372
+ 58
373
+ 59
374
+ 60</pre>
375
+ </td>
376
+ <td>
377
+ <pre class="code"><span class="info file"># File 'lib/dbf/database/foxpro.rb', line 58</span>
378
+
379
+ <span class='kw'>def</span> <span class='id identifier rubyid_method_missing'>method_missing</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='op'>*</span><span class='id identifier rubyid_args'>args</span><span class='rparen'>)</span> <span class='comment'># :nodoc:
380
+ </span> <span class='id identifier rubyid_table_names'>table_names</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_table'>table</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>super</span>
381
+ <span class='kw'>end</span></pre>
382
+ </td>
383
+ </tr>
384
+ </table>
385
+ </div>
386
+
387
+ </div>
388
+
389
+
390
+ <div id="instance_method_details" class="method_details_list">
391
+ <h2>Instance Method Details</h2>
392
+
393
+
394
+ <div class="method_details first">
395
+ <h3 class="signature first" id="respond_to_missing?-instance_method">
396
+
397
+ #<strong>respond_to_missing?</strong>(method) &#x21d2; <tt>Boolean</tt>
398
+
399
+
400
+
401
+
402
+
403
+ </h3><div class="docstring">
404
+ <div class="discussion">
405
+
406
+
407
+ </div>
408
+ </div>
409
+ <div class="tags">
410
+
411
+ <p class="tag_title">Returns:</p>
412
+ <ul class="return">
413
+
414
+ <li>
415
+
416
+
417
+ <span class='type'>(<tt>Boolean</tt>)</span>
418
+
419
+
420
+
421
+ </li>
422
+
423
+ </ul>
424
+
425
+ </div><table class="source_code">
426
+ <tr>
427
+ <td>
428
+ <pre class="lines">
429
+
430
+
431
+ 62
432
+ 63
433
+ 64</pre>
434
+ </td>
435
+ <td>
436
+ <pre class="code"><span class="info file"># File 'lib/dbf/database/foxpro.rb', line 62</span>
437
+
438
+ <span class='kw'>def</span> <span class='id identifier rubyid_respond_to_missing?'>respond_to_missing?</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='op'>*</span><span class='rparen'>)</span>
439
+ <span class='id identifier rubyid_table_names'>table_names</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='kw'>super</span>
440
+ <span class='kw'>end</span></pre>
441
+ </td>
442
+ </tr>
443
+ </table>
444
+ </div>
445
+
446
+ <div class="method_details ">
447
+ <h3 class="signature " id="table-instance_method">
448
+
449
+ #<strong>table</strong>(name) &#x21d2; <tt><span class='object_link'><a href="../Table.html" title="DBF::Table (class)">DBF::Table</a></span></tt>
450
+
451
+
452
+
453
+
454
+
455
+ </h3><div class="docstring">
456
+ <div class="discussion">
457
+
458
+ <p>Returns table with given name</p>
459
+
460
+
461
+ </div>
462
+ </div>
463
+ <div class="tags">
464
+ <p class="tag_title">Parameters:</p>
465
+ <ul class="param">
466
+
467
+ <li>
468
+
469
+ <span class='name'>name</span>
470
+
471
+
472
+ <span class='type'>(<tt>String</tt>)</span>
473
+
474
+
475
+
476
+ </li>
477
+
478
+ </ul>
479
+
480
+ <p class="tag_title">Returns:</p>
481
+ <ul class="return">
482
+
483
+ <li>
484
+
485
+
486
+ <span class='type'>(<tt><span class='object_link'><a href="../Table.html" title="DBF::Table (class)">DBF::Table</a></span></tt>)</span>
487
+
488
+
489
+
490
+ </li>
491
+
492
+ </ul>
493
+
494
+ </div><table class="source_code">
495
+ <tr>
496
+ <td>
497
+ <pre class="lines">
498
+
499
+
500
+ 38
501
+ 39
502
+ 40
503
+ 41
504
+ 42</pre>
505
+ </td>
506
+ <td>
507
+ <pre class="code"><span class="info file"># File 'lib/dbf/database/foxpro.rb', line 38</span>
508
+
509
+ <span class='kw'>def</span> <span class='id identifier rubyid_table'>table</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
510
+ <span class='const'><span class='object_link'><a href="Table.html" title="DBF::Database::Table (class)">Table</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="../Table.html#initialize-instance_method" title="DBF::Table#initialize (method)">new</a></span></span> <span class='id identifier rubyid_table_path'>table_path</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_table'>table</span><span class='op'>|</span>
511
+ <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_long_names'>long_names</span> <span class='op'>=</span> <span class='ivar'>@tables</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span>
512
+ <span class='kw'>end</span>
513
+ <span class='kw'>end</span></pre>
514
+ </td>
515
+ </tr>
516
+ </table>
517
+ </div>
518
+
519
+ <div class="method_details ">
520
+ <h3 class="signature " id="table_names-instance_method">
521
+
522
+ #<strong>table_names</strong> &#x21d2; <tt>Object</tt>
523
+
524
+
525
+
526
+
527
+
528
+ </h3><table class="source_code">
529
+ <tr>
530
+ <td>
531
+ <pre class="lines">
532
+
533
+
534
+ 30
535
+ 31
536
+ 32</pre>
537
+ </td>
538
+ <td>
539
+ <pre class="code"><span class="info file"># File 'lib/dbf/database/foxpro.rb', line 30</span>
540
+
541
+ <span class='kw'>def</span> <span class='id identifier rubyid_table_names'>table_names</span>
542
+ <span class='ivar'>@tables</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span>
543
+ <span class='kw'>end</span></pre>
544
+ </td>
545
+ </tr>
546
+ </table>
547
+ </div>
548
+
549
+ <div class="method_details ">
550
+ <h3 class="signature " id="table_path-instance_method">
551
+
552
+ #<strong>table_path</strong>(name) &#x21d2; <tt>String</tt>
553
+
554
+
555
+
556
+
557
+
558
+ </h3><div class="docstring">
559
+ <div class="discussion">
560
+
561
+ <p>Searches the database directory for the table&#39;s dbf file and returns the absolute path. Ensures case-insensitivity on any platform.</p>
562
+
563
+
564
+ </div>
565
+ </div>
566
+ <div class="tags">
567
+ <p class="tag_title">Parameters:</p>
568
+ <ul class="param">
569
+
570
+ <li>
571
+
572
+ <span class='name'>name</span>
573
+
574
+
575
+ <span class='type'>(<tt>String</tt>)</span>
576
+
577
+
578
+
579
+ </li>
580
+
581
+ </ul>
582
+
583
+ <p class="tag_title">Returns:</p>
584
+ <ul class="return">
585
+
586
+ <li>
587
+
588
+
589
+ <span class='type'>(<tt>String</tt>)</span>
590
+
591
+
592
+
593
+ </li>
594
+
595
+ </ul>
596
+ <p class="tag_title">Raises:</p>
597
+ <ul class="raise">
598
+
599
+ <li>
600
+
601
+
602
+ <span class='type'>(<tt><span class='object_link'><a href="../FileNotFoundError.html" title="DBF::FileNotFoundError (class)">DBF::FileNotFoundError</a></span></tt>)</span>
603
+
604
+
605
+
606
+ </li>
607
+
608
+ </ul>
609
+
610
+ </div><table class="source_code">
611
+ <tr>
612
+ <td>
613
+ <pre class="lines">
614
+
615
+
616
+ 49
617
+ 50
618
+ 51
619
+ 52
620
+ 53
621
+ 54
622
+ 55
623
+ 56</pre>
624
+ </td>
625
+ <td>
626
+ <pre class="code"><span class="info file"># File 'lib/dbf/database/foxpro.rb', line 49</span>
627
+
628
+ <span class='kw'>def</span> <span class='id identifier rubyid_table_path'>table_path</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
629
+ <span class='id identifier rubyid_glob'>glob</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='ivar'>@dirname</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'>.dbf</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
630
+ <span class='id identifier rubyid_path'>path</span> <span class='op'>=</span> <span class='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_glob'>glob</span><span class='lparen'>(</span><span class='id identifier rubyid_glob'>glob</span><span class='comma'>,</span> <span class='const'>File</span><span class='op'>::</span><span class='const'>FNM_CASEFOLD</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
631
+
632
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="../../DBF.html" title="DBF (module)">DBF</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="../FileNotFoundError.html" title="DBF::FileNotFoundError (class)">FileNotFoundError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>related table not found: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_path'>path</span> <span class='op'>&amp;&amp;</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_exist?'>exist?</span><span class='lparen'>(</span><span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
633
+
634
+ <span class='id identifier rubyid_path'>path</span>
635
+ <span class='kw'>end</span></pre>
636
+ </td>
637
+ </tr>
638
+ </table>
639
+ </div>
640
+
641
+ </div>
642
+
643
+ </div>
644
+
645
+ <div id="footer">
646
+ Generated on Sun Aug 8 16:19:08 2021 by
647
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
648
+ 0.9.26 (ruby-3.0.1).
649
+ </div>
650
+
651
+ </div>
652
+ </body>
653
+ </html>