dwh 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +36 -0
  3. data/CHANGELOG.md +5 -0
  4. data/LICENSE +21 -0
  5. data/README.md +130 -0
  6. data/Rakefile +42 -0
  7. data/docs/DWH/Adapters/Adapter.html +3053 -0
  8. data/docs/DWH/Adapters/Athena.html +1704 -0
  9. data/docs/DWH/Adapters/Boolean.html +121 -0
  10. data/docs/DWH/Adapters/Druid.html +1626 -0
  11. data/docs/DWH/Adapters/DuckDb.html +2012 -0
  12. data/docs/DWH/Adapters/MySql.html +1704 -0
  13. data/docs/DWH/Adapters/OpenAuthorizable/ClassMethods.html +265 -0
  14. data/docs/DWH/Adapters/OpenAuthorizable.html +1102 -0
  15. data/docs/DWH/Adapters/Postgres.html +2000 -0
  16. data/docs/DWH/Adapters/Snowflake.html +1662 -0
  17. data/docs/DWH/Adapters/SqlServer.html +2084 -0
  18. data/docs/DWH/Adapters/Trino.html +1835 -0
  19. data/docs/DWH/Adapters.html +129 -0
  20. data/docs/DWH/AuthenticationError.html +142 -0
  21. data/docs/DWH/Behaviors.html +767 -0
  22. data/docs/DWH/Capabilities.html +748 -0
  23. data/docs/DWH/Column.html +1115 -0
  24. data/docs/DWH/ConfigError.html +143 -0
  25. data/docs/DWH/ConnectionError.html +143 -0
  26. data/docs/DWH/DWHError.html +138 -0
  27. data/docs/DWH/ExecutionError.html +143 -0
  28. data/docs/DWH/Factory.html +1133 -0
  29. data/docs/DWH/Functions/Arrays.html +505 -0
  30. data/docs/DWH/Functions/Dates.html +1644 -0
  31. data/docs/DWH/Functions/ExtractDatePart.html +804 -0
  32. data/docs/DWH/Functions/Nulls.html +377 -0
  33. data/docs/DWH/Functions.html +846 -0
  34. data/docs/DWH/Logger.html +258 -0
  35. data/docs/DWH/OAuthError.html +138 -0
  36. data/docs/DWH/Settings.html +658 -0
  37. data/docs/DWH/StreamingStats.html +804 -0
  38. data/docs/DWH/Table.html +1260 -0
  39. data/docs/DWH/TableStats.html +583 -0
  40. data/docs/DWH/TokenExpiredError.html +142 -0
  41. data/docs/DWH/UnsupportedCapability.html +135 -0
  42. data/docs/DWH.html +220 -0
  43. data/docs/_index.html +471 -0
  44. data/docs/class_list.html +54 -0
  45. data/docs/css/common.css +1 -0
  46. data/docs/css/full_list.css +58 -0
  47. data/docs/css/style.css +503 -0
  48. data/docs/file.README.html +210 -0
  49. data/docs/file.adapters.html +514 -0
  50. data/docs/file.creating-adapters.html +497 -0
  51. data/docs/file.getting-started.html +288 -0
  52. data/docs/file.usage.html +446 -0
  53. data/docs/file_list.html +79 -0
  54. data/docs/frames.html +22 -0
  55. data/docs/guides/adapters.md +445 -0
  56. data/docs/guides/creating-adapters.md +430 -0
  57. data/docs/guides/getting-started.md +225 -0
  58. data/docs/guides/usage.md +378 -0
  59. data/docs/index.html +210 -0
  60. data/docs/js/app.js +344 -0
  61. data/docs/js/full_list.js +242 -0
  62. data/docs/js/jquery.js +4 -0
  63. data/docs/method_list.html +2038 -0
  64. data/docs/top-level-namespace.html +110 -0
  65. data/lib/dwh/adapters/athena.rb +359 -0
  66. data/lib/dwh/adapters/druid.rb +267 -0
  67. data/lib/dwh/adapters/duck_db.rb +235 -0
  68. data/lib/dwh/adapters/my_sql.rb +235 -0
  69. data/lib/dwh/adapters/open_authorizable.rb +215 -0
  70. data/lib/dwh/adapters/postgres.rb +250 -0
  71. data/lib/dwh/adapters/snowflake.rb +489 -0
  72. data/lib/dwh/adapters/sql_server.rb +257 -0
  73. data/lib/dwh/adapters/trino.rb +213 -0
  74. data/lib/dwh/adapters.rb +363 -0
  75. data/lib/dwh/behaviors.rb +67 -0
  76. data/lib/dwh/capabilities.rb +39 -0
  77. data/lib/dwh/column.rb +79 -0
  78. data/lib/dwh/errors.rb +29 -0
  79. data/lib/dwh/factory.rb +125 -0
  80. data/lib/dwh/functions/arrays.rb +42 -0
  81. data/lib/dwh/functions/dates.rb +162 -0
  82. data/lib/dwh/functions/extract_date_part.rb +70 -0
  83. data/lib/dwh/functions/nulls.rb +31 -0
  84. data/lib/dwh/functions.rb +86 -0
  85. data/lib/dwh/logger.rb +50 -0
  86. data/lib/dwh/settings/athena.yml +77 -0
  87. data/lib/dwh/settings/base.yml +81 -0
  88. data/lib/dwh/settings/databricks.yml +51 -0
  89. data/lib/dwh/settings/druid.yml +59 -0
  90. data/lib/dwh/settings/duckdb.yml +44 -0
  91. data/lib/dwh/settings/mysql.yml +67 -0
  92. data/lib/dwh/settings/postgres.yml +30 -0
  93. data/lib/dwh/settings/redshift.yml +52 -0
  94. data/lib/dwh/settings/snowflake.yml +45 -0
  95. data/lib/dwh/settings/sqlserver.yml +80 -0
  96. data/lib/dwh/settings/trino.yml +77 -0
  97. data/lib/dwh/settings.rb +79 -0
  98. data/lib/dwh/streaming_stats.rb +69 -0
  99. data/lib/dwh/table.rb +105 -0
  100. data/lib/dwh/table_stats.rb +51 -0
  101. data/lib/dwh/version.rb +5 -0
  102. data/lib/dwh.rb +54 -0
  103. data/sig/dwh.rbs +4 -0
  104. metadata +231 -0
@@ -0,0 +1,1133 @@
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: DWH::Factory
8
+
9
+ &mdash; Documentation by YARD 0.9.37
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 = "DWH::Factory";
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="../DWH.html" title="DWH (module)">DWH</a></span></span>
41
+ &raquo;
42
+ <span class="title">Factory</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: DWH::Factory
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+ <dl>
75
+ <dt>Includes:</dt>
76
+ <dd><span class='object_link'><a href="Logger.html" title="DWH::Logger (module)">Logger</a></span></dd>
77
+ </dl>
78
+
79
+
80
+
81
+
82
+ <dl>
83
+ <dt>Included in:</dt>
84
+ <dd><span class='object_link'><a href="../DWH.html" title="DWH (module)">DWH</a></span></dd>
85
+ </dl>
86
+
87
+
88
+
89
+ <dl>
90
+ <dt>Defined in:</dt>
91
+ <dd>lib/dwh/factory.rb</dd>
92
+ </dl>
93
+
94
+ </div>
95
+
96
+ <h2>Overview</h2><div class="docstring">
97
+ <div class="discussion">
98
+ <p>Manages adapters. This should be the means by which adapters
99
+ are created, loaded, and pooled.</p>
100
+
101
+
102
+ </div>
103
+ </div>
104
+ <div class="tags">
105
+
106
+
107
+ </div>
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+ <h2>
116
+ Instance Method Summary
117
+ <small><a href="#" class="summary_toggle">collapse</a></small>
118
+ </h2>
119
+
120
+ <ul class="summary">
121
+
122
+ <li class="public ">
123
+ <span class="summary_signature">
124
+
125
+ <a href="#adapter%3F-instance_method" title="#adapter? (instance method)">#<strong>adapter?</strong>(adapter_name) &#x21d2; Boolean </a>
126
+
127
+
128
+
129
+ </span>
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+ <span class="summary_desc"><div class='inline'><p>Check if the given adapter is registered.</p>
140
+ </div></span>
141
+
142
+ </li>
143
+
144
+
145
+ <li class="public ">
146
+ <span class="summary_signature">
147
+
148
+ <a href="#adapters-instance_method" title="#adapters (instance method)">#<strong>adapters</strong> &#x21d2; Object </a>
149
+
150
+
151
+
152
+ </span>
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+ <span class="summary_desc"><div class='inline'><p>Get the list of registed adapters.</p>
163
+ </div></span>
164
+
165
+ </li>
166
+
167
+
168
+ <li class="public ">
169
+ <span class="summary_signature">
170
+
171
+ <a href="#create-instance_method" title="#create (instance method)">#<strong>create</strong>(adapter_name, config) &#x21d2; Object </a>
172
+
173
+
174
+
175
+ </span>
176
+
177
+
178
+
179
+
180
+
181
+
182
+
183
+
184
+
185
+ <span class="summary_desc"><div class='inline'><p>The canonical way of creating an adapter instance in DWH.</p>
186
+ </div></span>
187
+
188
+ </li>
189
+
190
+
191
+ <li class="public ">
192
+ <span class="summary_signature">
193
+
194
+ <a href="#get_adapter-instance_method" title="#get_adapter (instance method)">#<strong>get_adapter</strong>(adapter_name) &#x21d2; Object </a>
195
+
196
+
197
+
198
+ </span>
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+ <span class="summary_desc"><div class='inline'><p>Get the adapter.</p>
209
+ </div></span>
210
+
211
+ </li>
212
+
213
+
214
+ <li class="public ">
215
+ <span class="summary_signature">
216
+
217
+ <a href="#pool-instance_method" title="#pool (instance method)">#<strong>pool</strong>(name, adapter_name, config, timeout: 5, size: 10) &#x21d2; Object </a>
218
+
219
+
220
+
221
+ </span>
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+ <span class="summary_desc"><div class='inline'><p>Create a pool of connections for a given name and adapter.</p>
232
+ </div></span>
233
+
234
+ </li>
235
+
236
+
237
+ <li class="public ">
238
+ <span class="summary_signature">
239
+
240
+ <a href="#pools-instance_method" title="#pools (instance method)">#<strong>pools</strong> &#x21d2; Object </a>
241
+
242
+
243
+
244
+ </span>
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+ <span class="summary_desc"><div class='inline'><p>Current active pools.</p>
255
+ </div></span>
256
+
257
+ </li>
258
+
259
+
260
+ <li class="public ">
261
+ <span class="summary_signature">
262
+
263
+ <a href="#register-instance_method" title="#register (instance method)">#<strong>register</strong>(adapter_name, adapter_class) &#x21d2; Object </a>
264
+
265
+
266
+
267
+ </span>
268
+
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+ <span class="summary_desc"><div class='inline'><p>Register your new adapter.</p>
278
+ </div></span>
279
+
280
+ </li>
281
+
282
+
283
+ <li class="public ">
284
+ <span class="summary_signature">
285
+
286
+ <a href="#shutdown-instance_method" title="#shutdown (instance method)">#<strong>shutdown</strong>(pool = nil) &#x21d2; Object </a>
287
+
288
+
289
+
290
+ </span>
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+ <span class="summary_desc"><div class='inline'><p>Shutdown a specific pool or all pools.</p>
301
+ </div></span>
302
+
303
+ </li>
304
+
305
+
306
+ <li class="public ">
307
+ <span class="summary_signature">
308
+
309
+ <a href="#start_reaper-instance_method" title="#start_reaper (instance method)">#<strong>start_reaper</strong>(frequency = 300) &#x21d2; Object </a>
310
+
311
+
312
+
313
+ </span>
314
+
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+ <span class="summary_desc"><div class='inline'><p>Start reaper that will periodically clean up unused or idle connections.</p>
324
+ </div></span>
325
+
326
+ </li>
327
+
328
+
329
+ <li class="public ">
330
+ <span class="summary_signature">
331
+
332
+ <a href="#unregister-instance_method" title="#unregister (instance method)">#<strong>unregister</strong>(adapter_name) &#x21d2; Object </a>
333
+
334
+
335
+
336
+ </span>
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+ <span class="summary_desc"><div class='inline'><p>Remove the given adapter from the registry.</p>
347
+ </div></span>
348
+
349
+ </li>
350
+
351
+
352
+ </ul>
353
+
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+
364
+ <h3 class="inherited">Methods included from <span class='object_link'><a href="Logger.html" title="DWH::Logger (module)">Logger</a></span></h3>
365
+ <p class="inherited"><span class='object_link'><a href="Logger.html#logger-instance_method" title="DWH::Logger#logger (method)">#logger</a></span>, <span class='object_link'><a href="Logger.html#logger-class_method" title="DWH::Logger.logger (method)">logger</a></span></p>
366
+
367
+
368
+ <div id="instance_method_details" class="method_details_list">
369
+ <h2>Instance Method Details</h2>
370
+
371
+
372
+ <div class="method_details first">
373
+ <h3 class="signature first" id="adapter?-instance_method">
374
+
375
+ #<strong>adapter?</strong>(adapter_name) &#x21d2; <tt>Boolean</tt>
376
+
377
+
378
+
379
+
380
+
381
+ </h3><div class="docstring">
382
+ <div class="discussion">
383
+ <p>Check if the given adapter is registered</p>
384
+
385
+
386
+ </div>
387
+ </div>
388
+ <div class="tags">
389
+ <p class="tag_title">Parameters:</p>
390
+ <ul class="param">
391
+
392
+ <li>
393
+
394
+ <span class='name'>adapter_name</span>
395
+
396
+
397
+ <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
398
+
399
+
400
+
401
+ </li>
402
+
403
+ </ul>
404
+
405
+ <p class="tag_title">Returns:</p>
406
+ <ul class="return">
407
+
408
+ <li>
409
+
410
+
411
+ <span class='type'>(<tt>Boolean</tt>)</span>
412
+
413
+
414
+
415
+ </li>
416
+
417
+ </ul>
418
+
419
+ </div><table class="source_code">
420
+ <tr>
421
+ <td>
422
+ <pre class="lines">
423
+
424
+
425
+ 35
426
+ 36
427
+ 37</pre>
428
+ </td>
429
+ <td>
430
+ <pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 35</span>
431
+
432
+ <span class='kw'>def</span> <span class='id identifier rubyid_adapter?'>adapter?</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='rparen'>)</span>
433
+ <span class='id identifier rubyid_adapters'>adapters</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
434
+ <span class='kw'>end</span></pre>
435
+ </td>
436
+ </tr>
437
+ </table>
438
+ </div>
439
+
440
+ <div class="method_details ">
441
+ <h3 class="signature " id="adapters-instance_method">
442
+
443
+ #<strong>adapters</strong> &#x21d2; <tt>Object</tt>
444
+
445
+
446
+
447
+
448
+
449
+ </h3><div class="docstring">
450
+ <div class="discussion">
451
+ <p>Get the list of registed adapters</p>
452
+
453
+
454
+ </div>
455
+ </div>
456
+ <div class="tags">
457
+
458
+
459
+ </div><table class="source_code">
460
+ <tr>
461
+ <td>
462
+ <pre class="lines">
463
+
464
+
465
+ 40
466
+ 41
467
+ 42</pre>
468
+ </td>
469
+ <td>
470
+ <pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 40</span>
471
+
472
+ <span class='kw'>def</span> <span class='id identifier rubyid_adapters'>adapters</span>
473
+ <span class='ivar'>@adapters</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
474
+ <span class='kw'>end</span></pre>
475
+ </td>
476
+ </tr>
477
+ </table>
478
+ </div>
479
+
480
+ <div class="method_details ">
481
+ <h3 class="signature " id="create-instance_method">
482
+
483
+ #<strong>create</strong>(adapter_name, config) &#x21d2; <tt>Object</tt>
484
+
485
+
486
+
487
+
488
+
489
+ </h3><div class="docstring">
490
+ <div class="discussion">
491
+ <p>The canonical way of creating an adapter instance
492
+ in DWH.</p>
493
+
494
+
495
+ </div>
496
+ </div>
497
+ <div class="tags">
498
+
499
+ <div class="examples">
500
+ <h4 class="tag_title">Examples:</h4>
501
+
502
+
503
+ <h5 class="example_title"><div class='inline'><p>connect to MySQL</p>
504
+ </div></h5>
505
+
506
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="../DWH.html" title="DWH (module)">DWH</a></span></span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='symbol'>:mysql</span><span class='comma'>,</span> <span class='lbrace'>{</span> <span class='label'>host:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>127.0.0.1</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='label'>databse:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>mydb</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='label'>username:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>me</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='label'>password:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>mypwd</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='label'>client_name:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Strata CLI</span><span class='tstring_end'>&#39;</span></span><span class='rbrace'>}</span><span class='rparen'>)</span></code></pre>
507
+
508
+
509
+ <h5 class="example_title"><div class='inline'><p>connect Trino</p>
510
+ </div></h5>
511
+
512
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="../DWH.html" title="DWH (module)">DWH</a></span></span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='symbol'>:trino</span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='label'>host:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>localhost</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='label'>catalog:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>native</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span> <span class='label'>username:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Ajo</span><span class='tstring_end'>&#39;</span></span><span class='rbrace'>}</span><span class='rparen'>)</span></code></pre>
513
+
514
+
515
+ <h5 class="example_title"><div class='inline'><p>connect to Druid</p>
516
+ </div></h5>
517
+
518
+ <pre class="example code"><code><span class='const'><span class='object_link'><a href="../DWH.html" title="DWH (module)">DWH</a></span></span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='symbol'>:druid</span><span class='comma'>,</span> <span class='lbrace'>{</span><span class='label'>host:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>localhost</span><span class='tstring_end'>&#39;</span></span><span class='comma'>,</span><span class='label'>port:</span> <span class='int'>8080</span><span class='comma'>,</span> <span class='label'>protocol:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>http</span><span class='tstring_end'>&#39;</span></span><span class='rbrace'>}</span><span class='rparen'>)</span></code></pre>
519
+
520
+ </div>
521
+ <p class="tag_title">Parameters:</p>
522
+ <ul class="param">
523
+
524
+ <li>
525
+
526
+ <span class='name'>adapter_name</span>
527
+
528
+
529
+ <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
530
+
531
+
532
+
533
+ </li>
534
+
535
+ <li>
536
+
537
+ <span class='name'>config</span>
538
+
539
+
540
+ <span class='type'>(<tt>Hash</tt>)</span>
541
+
542
+
543
+
544
+ &mdash;
545
+ <div class='inline'><p>options hash for the target database</p>
546
+ </div>
547
+
548
+ </li>
549
+
550
+ </ul>
551
+
552
+
553
+ </div><table class="source_code">
554
+ <tr>
555
+ <td>
556
+ <pre class="lines">
557
+
558
+
559
+ 60
560
+ 61
561
+ 62</pre>
562
+ </td>
563
+ <td>
564
+ <pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 60</span>
565
+
566
+ <span class='kw'>def</span> <span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span><span class='rparen'>)</span>
567
+ <span class='id identifier rubyid_get_adapter'>get_adapter</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='rparen'>)</span>
568
+ <span class='kw'>end</span></pre>
569
+ </td>
570
+ </tr>
571
+ </table>
572
+ </div>
573
+
574
+ <div class="method_details ">
575
+ <h3 class="signature " id="get_adapter-instance_method">
576
+
577
+ #<strong>get_adapter</strong>(adapter_name) &#x21d2; <tt>Object</tt>
578
+
579
+
580
+
581
+
582
+
583
+ </h3><div class="docstring">
584
+ <div class="discussion">
585
+ <p>Get the adapter.</p>
586
+
587
+
588
+ </div>
589
+ </div>
590
+ <div class="tags">
591
+ <p class="tag_title">Parameters:</p>
592
+ <ul class="param">
593
+
594
+ <li>
595
+
596
+ <span class='name'>adapter_name</span>
597
+
598
+
599
+ <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
600
+
601
+
602
+
603
+ </li>
604
+
605
+ </ul>
606
+
607
+
608
+ </div><table class="source_code">
609
+ <tr>
610
+ <td>
611
+ <pre class="lines">
612
+
613
+
614
+ 27
615
+ 28
616
+ 29
617
+ 30
618
+ 31</pre>
619
+ </td>
620
+ <td>
621
+ <pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 27</span>
622
+
623
+ <span class='kw'>def</span> <span class='id identifier rubyid_get_adapter'>get_adapter</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='rparen'>)</span>
624
+ <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Adapter &#39;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='embexpr_end'>}</span><span class='tstring_content'>&#39; not found. Did you forget to register it: DWH.register(MyAdapterClass)</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_adapter?'>adapter?</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='rparen'>)</span>
625
+
626
+ <span class='id identifier rubyid_adapters'>adapters</span><span class='lbracket'>[</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span>
627
+ <span class='kw'>end</span></pre>
628
+ </td>
629
+ </tr>
630
+ </table>
631
+ </div>
632
+
633
+ <div class="method_details ">
634
+ <h3 class="signature " id="pool-instance_method">
635
+
636
+ #<strong>pool</strong>(name, adapter_name, config, timeout: 5, size: 10) &#x21d2; <tt>Object</tt>
637
+
638
+
639
+
640
+
641
+
642
+ </h3><div class="docstring">
643
+ <div class="discussion">
644
+ <p>Create a pool of connections for a given name and adapter.
645
+ Returns existing pool if it was already created.</p>
646
+
647
+
648
+ </div>
649
+ </div>
650
+ <div class="tags">
651
+ <p class="tag_title">Parameters:</p>
652
+ <ul class="param">
653
+
654
+ <li>
655
+
656
+ <span class='name'>name</span>
657
+
658
+
659
+ <span class='type'>(<tt>String</tt>)</span>
660
+
661
+
662
+
663
+ &mdash;
664
+ <div class='inline'><p>custom name for your pool</p>
665
+ </div>
666
+
667
+ </li>
668
+
669
+ <li>
670
+
671
+ <span class='name'>adapter_name</span>
672
+
673
+
674
+ <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
675
+
676
+
677
+
678
+ </li>
679
+
680
+ <li>
681
+
682
+ <span class='name'>config</span>
683
+
684
+
685
+ <span class='type'>(<tt>Hash</tt>)</span>
686
+
687
+
688
+
689
+ &mdash;
690
+ <div class='inline'><p>connection options</p>
691
+ </div>
692
+
693
+ </li>
694
+
695
+ <li>
696
+
697
+ <span class='name'>timeout</span>
698
+
699
+
700
+ <span class='type'>(<tt>Integer</tt>)</span>
701
+
702
+
703
+ <em class="default">(defaults to: <tt>5</tt>)</em>
704
+
705
+
706
+ &mdash;
707
+ <div class='inline'><p>pool checkout time out</p>
708
+ </div>
709
+
710
+ </li>
711
+
712
+ <li>
713
+
714
+ <span class='name'>size</span>
715
+
716
+
717
+ <span class='type'>(<tt>Integer</tt>)</span>
718
+
719
+
720
+ <em class="default">(defaults to: <tt>10</tt>)</em>
721
+
722
+
723
+ &mdash;
724
+ <div class='inline'><p>size of the pool</p>
725
+ </div>
726
+
727
+ </li>
728
+
729
+ </ul>
730
+
731
+
732
+ </div><table class="source_code">
733
+ <tr>
734
+ <td>
735
+ <pre class="lines">
736
+
737
+
738
+ 72
739
+ 73
740
+ 74
741
+ 75
742
+ 76
743
+ 77
744
+ 78
745
+ 79
746
+ 80</pre>
747
+ </td>
748
+ <td>
749
+ <pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 72</span>
750
+
751
+ <span class='kw'>def</span> <span class='id identifier rubyid_pool'>pool</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='label'>timeout:</span> <span class='int'>5</span><span class='comma'>,</span> <span class='label'>size:</span> <span class='int'>10</span><span class='rparen'>)</span>
752
+ <span class='kw'>if</span> <span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_key?'>key?</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='rparen'>)</span>
753
+ <span class='id identifier rubyid_pools'>pools</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span>
754
+ <span class='kw'>else</span>
755
+ <span class='id identifier rubyid_pools'>pools</span><span class='lbracket'>[</span><span class='id identifier rubyid_name'>name</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>ConnectionPool</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>size:</span> <span class='id identifier rubyid_size'>size</span><span class='comma'>,</span> <span class='label'>timeout:</span> <span class='id identifier rubyid_timeout'>timeout</span><span class='rparen'>)</span> <span class='kw'>do</span>
756
+ <span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span><span class='rparen'>)</span>
757
+ <span class='kw'>end</span>
758
+ <span class='kw'>end</span>
759
+ <span class='kw'>end</span></pre>
760
+ </td>
761
+ </tr>
762
+ </table>
763
+ </div>
764
+
765
+ <div class="method_details ">
766
+ <h3 class="signature " id="pools-instance_method">
767
+
768
+ #<strong>pools</strong> &#x21d2; <tt>Object</tt>
769
+
770
+
771
+
772
+
773
+
774
+ </h3><div class="docstring">
775
+ <div class="discussion">
776
+ <p>Current active pools</p>
777
+
778
+
779
+ </div>
780
+ </div>
781
+ <div class="tags">
782
+
783
+
784
+ </div><table class="source_code">
785
+ <tr>
786
+ <td>
787
+ <pre class="lines">
788
+
789
+
790
+ 45
791
+ 46
792
+ 47</pre>
793
+ </td>
794
+ <td>
795
+ <pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 45</span>
796
+
797
+ <span class='kw'>def</span> <span class='id identifier rubyid_pools'>pools</span>
798
+ <span class='ivar'>@pools</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
799
+ <span class='kw'>end</span></pre>
800
+ </td>
801
+ </tr>
802
+ </table>
803
+ </div>
804
+
805
+ <div class="method_details ">
806
+ <h3 class="signature " id="register-instance_method">
807
+
808
+ #<strong>register</strong>(adapter_name, adapter_class) &#x21d2; <tt>Object</tt>
809
+
810
+
811
+
812
+
813
+
814
+ </h3><div class="docstring">
815
+ <div class="discussion">
816
+ <p>Register your new adapter.</p>
817
+
818
+
819
+ </div>
820
+ </div>
821
+ <div class="tags">
822
+ <p class="tag_title">Parameters:</p>
823
+ <ul class="param">
824
+
825
+ <li>
826
+
827
+ <span class='name'>adapter_name</span>
828
+
829
+
830
+ <span class='type'>(<tt>String</tt>, <tt>Symbol</tt>)</span>
831
+
832
+
833
+
834
+ &mdash;
835
+ <div class='inline'><p>your adapter name. Could be different from
836
+ the class name.</p>
837
+ </div>
838
+
839
+ </li>
840
+
841
+ <li>
842
+
843
+ <span class='name'>adapter_class</span>
844
+
845
+
846
+ <span class='type'>(<tt>Class</tt>)</span>
847
+
848
+
849
+
850
+ &mdash;
851
+ <div class='inline'><p>actual class of the adapter.</p>
852
+ </div>
853
+
854
+ </li>
855
+
856
+ </ul>
857
+
858
+ <p class="tag_title">Raises:</p>
859
+ <ul class="raise">
860
+
861
+ <li>
862
+
863
+
864
+ <span class='type'>(<tt><span class='object_link'><a href="ConfigError.html" title="DWH::ConfigError (class)">ConfigError</a></span></tt>)</span>
865
+
866
+
867
+
868
+ </li>
869
+
870
+ </ul>
871
+
872
+ </div><table class="source_code">
873
+ <tr>
874
+ <td>
875
+ <pre class="lines">
876
+
877
+
878
+ 13
879
+ 14
880
+ 15
881
+ 16
882
+ 17
883
+ 18</pre>
884
+ </td>
885
+ <td>
886
+ <pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 13</span>
887
+
888
+ <span class='kw'>def</span> <span class='id identifier rubyid_register'>register</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='comma'>,</span> <span class='id identifier rubyid_adapter_class'>adapter_class</span><span class='rparen'>)</span>
889
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'><span class='object_link'><a href="ConfigError.html" title="DWH::ConfigError (class)">ConfigError</a></span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>adapter_class should be a class</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>unless</span> <span class='id identifier rubyid_adapter_class'>adapter_class</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Class</span><span class='rparen'>)</span>
890
+
891
+ <span class='id identifier rubyid_adapter_class'>adapter_class</span><span class='period'>.</span><span class='id identifier rubyid_load_settings'>load_settings</span>
892
+ <span class='id identifier rubyid_adapters'>adapters</span><span class='lbracket'>[</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_adapter_class'>adapter_class</span>
893
+ <span class='kw'>end</span></pre>
894
+ </td>
895
+ </tr>
896
+ </table>
897
+ </div>
898
+
899
+ <div class="method_details ">
900
+ <h3 class="signature " id="shutdown-instance_method">
901
+
902
+ #<strong>shutdown</strong>(pool = nil) &#x21d2; <tt>Object</tt>
903
+
904
+
905
+
906
+
907
+
908
+ </h3><div class="docstring">
909
+ <div class="discussion">
910
+ <p>Shutdown a specific pool or all pools</p>
911
+
912
+
913
+ </div>
914
+ </div>
915
+ <div class="tags">
916
+ <p class="tag_title">Parameters:</p>
917
+ <ul class="param">
918
+
919
+ <li>
920
+
921
+ <span class='name'>pool</span>
922
+
923
+
924
+ <span class='type'>(<tt>String</tt>, <tt>ConnectionPool</tt>, <tt>nil</tt>)</span>
925
+
926
+
927
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
928
+
929
+
930
+ &mdash;
931
+ <div class='inline'><p>pool or name of pool
932
+ or nil to shut everything down</p>
933
+ </div>
934
+
935
+ </li>
936
+
937
+ </ul>
938
+
939
+
940
+ </div><table class="source_code">
941
+ <tr>
942
+ <td>
943
+ <pre class="lines">
944
+
945
+
946
+ 85
947
+ 86
948
+ 87
949
+ 88
950
+ 89
951
+ 90
952
+ 91
953
+ 92
954
+ 93
955
+ 94
956
+ 95
957
+ 96
958
+ 97
959
+ 98
960
+ 99
961
+ 100
962
+ 101
963
+ 102</pre>
964
+ </td>
965
+ <td>
966
+ <pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 85</span>
967
+
968
+ <span class='kw'>def</span> <span class='id identifier rubyid_shutdown'>shutdown</span><span class='lparen'>(</span><span class='id identifier rubyid_pool'>pool</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
969
+ <span class='kw'>case</span> <span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span>
970
+ <span class='kw'>when</span> <span class='const'>String</span>
971
+ <span class='id identifier rubyid_pools'>pools</span><span class='lbracket'>[</span><span class='id identifier rubyid_pool'>pool</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_shutdown'>shutdown</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_it'>it</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
972
+ <span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_pool'>pool</span><span class='rparen'>)</span>
973
+ <span class='kw'>when</span> <span class='const'>Symbol</span>
974
+ <span class='id identifier rubyid_pools'>pools</span><span class='lbracket'>[</span><span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_shutdown'>shutdown</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_it'>it</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
975
+ <span class='id identifier rubyid_pools'>pools</span><span class='lbracket'>[</span><span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span>
976
+ <span class='kw'>when</span> <span class='const'>ConnectionPool</span>
977
+ <span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_shutdown'>shutdown</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_it'>it</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
978
+ <span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_key'>key</span><span class='lparen'>(</span><span class='id identifier rubyid_pool'>pool</span><span class='rparen'>)</span><span class='rparen'>)</span>
979
+ <span class='kw'>else</span>
980
+ <span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_each_value'>each_value</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_val'>val</span><span class='op'>|</span>
981
+ <span class='id identifier rubyid_val'>val</span><span class='period'>.</span><span class='id identifier rubyid_shutdown'>shutdown</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_c'>c</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
982
+ <span class='kw'>end</span>
983
+ <span class='ivar'>@pools</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
984
+ <span class='kw'>end</span>
985
+ <span class='kw'>end</span></pre>
986
+ </td>
987
+ </tr>
988
+ </table>
989
+ </div>
990
+
991
+ <div class="method_details ">
992
+ <h3 class="signature " id="start_reaper-instance_method">
993
+
994
+ #<strong>start_reaper</strong>(frequency = 300) &#x21d2; <tt>Object</tt>
995
+
996
+
997
+
998
+
999
+
1000
+ </h3><div class="docstring">
1001
+ <div class="discussion">
1002
+ <p>Start reaper that will periodically clean up
1003
+ unused or idle connections.</p>
1004
+
1005
+
1006
+ </div>
1007
+ </div>
1008
+ <div class="tags">
1009
+ <p class="tag_title">Parameters:</p>
1010
+ <ul class="param">
1011
+
1012
+ <li>
1013
+
1014
+ <span class='name'>frequency</span>
1015
+
1016
+
1017
+ <span class='type'>(<tt>Integer</tt>)</span>
1018
+
1019
+
1020
+ <em class="default">(defaults to: <tt>300</tt>)</em>
1021
+
1022
+
1023
+ &mdash;
1024
+ <div class='inline'><p>defaults to 300 seconds</p>
1025
+ </div>
1026
+
1027
+ </li>
1028
+
1029
+ </ul>
1030
+
1031
+
1032
+ </div><table class="source_code">
1033
+ <tr>
1034
+ <td>
1035
+ <pre class="lines">
1036
+
1037
+
1038
+ 107
1039
+ 108
1040
+ 109
1041
+ 110
1042
+ 111
1043
+ 112
1044
+ 113
1045
+ 114
1046
+ 115
1047
+ 116
1048
+ 117
1049
+ 118
1050
+ 119
1051
+ 120
1052
+ 121
1053
+ 122
1054
+ 123</pre>
1055
+ </td>
1056
+ <td>
1057
+ <pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 107</span>
1058
+
1059
+ <span class='kw'>def</span> <span class='id identifier rubyid_start_reaper'>start_reaper</span><span class='lparen'>(</span><span class='id identifier rubyid_frequency'>frequency</span> <span class='op'>=</span> <span class='int'>300</span><span class='rparen'>)</span>
1060
+ <span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Starting DB Adapter reaper process</span><span class='tstring_end'>&#39;</span></span>
1061
+ <span class='const'>Thread</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>do</span>
1062
+ <span class='id identifier rubyid_loop'>loop</span> <span class='kw'>do</span>
1063
+ <span class='id identifier rubyid_pools'>pools</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_pool'>pool</span><span class='op'>|</span>
1064
+ <span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DB POOL FOR </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='embexpr_end'>}</span><span class='tstring_content'> STATS:</span><span class='tstring_end'>&quot;</span></span>
1065
+ <span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_with'>with</span> <span class='kw'>do</span>
1066
+ <span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\tSize: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
1067
+ <span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\tIdle: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_available'>available</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
1068
+ <span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\tAvailable: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_available'>available</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
1069
+ <span class='kw'>end</span>
1070
+ <span class='id identifier rubyid_pool'>pool</span><span class='period'>.</span><span class='id identifier rubyid_reap'>reap</span><span class='lparen'>(</span><span class='id identifier rubyid_frequency'>frequency</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_it'>it</span><span class='period'>.</span><span class='id identifier rubyid_close'>close</span> <span class='rbrace'>}</span>
1071
+ <span class='kw'>end</span>
1072
+ <span class='id identifier rubyid_sleep'>sleep</span> <span class='id identifier rubyid_frequency'>frequency</span>
1073
+ <span class='kw'>end</span>
1074
+ <span class='kw'>end</span>
1075
+ <span class='kw'>end</span></pre>
1076
+ </td>
1077
+ </tr>
1078
+ </table>
1079
+ </div>
1080
+
1081
+ <div class="method_details ">
1082
+ <h3 class="signature " id="unregister-instance_method">
1083
+
1084
+ #<strong>unregister</strong>(adapter_name) &#x21d2; <tt>Object</tt>
1085
+
1086
+
1087
+
1088
+
1089
+
1090
+ </h3><div class="docstring">
1091
+ <div class="discussion">
1092
+ <p>Remove the given adapter from the registry.</p>
1093
+
1094
+
1095
+ </div>
1096
+ </div>
1097
+ <div class="tags">
1098
+
1099
+
1100
+ </div><table class="source_code">
1101
+ <tr>
1102
+ <td>
1103
+ <pre class="lines">
1104
+
1105
+
1106
+ 21
1107
+ 22
1108
+ 23</pre>
1109
+ </td>
1110
+ <td>
1111
+ <pre class="code"><span class="info file"># File 'lib/dwh/factory.rb', line 21</span>
1112
+
1113
+ <span class='kw'>def</span> <span class='id identifier rubyid_unregister'>unregister</span><span class='lparen'>(</span><span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='rparen'>)</span>
1114
+ <span class='id identifier rubyid_adapters'>adapters</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span> <span class='id identifier rubyid_adapter_name'>adapter_name</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
1115
+ <span class='kw'>end</span></pre>
1116
+ </td>
1117
+ </tr>
1118
+ </table>
1119
+ </div>
1120
+
1121
+ </div>
1122
+
1123
+ </div>
1124
+
1125
+ <div id="footer">
1126
+ Generated on Fri Aug 22 08:31:21 2025 by
1127
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1128
+ 0.9.37 (ruby-3.4.4).
1129
+ </div>
1130
+
1131
+ </div>
1132
+ </body>
1133
+ </html>