roomer 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. data/.autotest +17 -0
  2. data/.gitignore +9 -0
  3. data/.rvmrc +2 -0
  4. data/.travis.yml +2 -0
  5. data/Gemfile +31 -0
  6. data/MIT-LICENSE +20 -0
  7. data/README.md +116 -0
  8. data/Rakefile +16 -0
  9. data/TODO.md +10 -0
  10. data/doc/ActiveRecord/Base.html +328 -0
  11. data/doc/ApplicationController.html +116 -0
  12. data/doc/Roomer/Engine.html +116 -0
  13. data/doc/Roomer/Generators/InstallGenerator.html +419 -0
  14. data/doc/Roomer/Generators/SetupGenerator.html +209 -0
  15. data/doc/Roomer/Generators.html +108 -0
  16. data/doc/Roomer/Tools.html +702 -0
  17. data/doc/Roomer/VERSION.html +149 -0
  18. data/doc/Roomer.html +533 -0
  19. data/doc/RoomerCreate.html +121 -0
  20. data/doc/_index.html +232 -0
  21. data/doc/class_list.html +47 -0
  22. data/doc/css/common.css +1 -0
  23. data/doc/css/full_list.css +53 -0
  24. data/doc/css/style.css +320 -0
  25. data/doc/file.README.html +146 -0
  26. data/doc/file_list.html +49 -0
  27. data/doc/frames.html +13 -0
  28. data/doc/index.html +146 -0
  29. data/doc/js/app.js +205 -0
  30. data/doc/js/full_list.js +150 -0
  31. data/doc/js/jquery.js +16 -0
  32. data/doc/method_list.html +182 -0
  33. data/doc/top-level-namespace.html +105 -0
  34. data/lib/generators/roomer/install/install_generator.rb +39 -0
  35. data/lib/generators/roomer/install/templates/README +15 -0
  36. data/lib/generators/roomer/install/templates/roomer.rb +68 -0
  37. data/lib/generators/roomer/migration/migration_generator.rb +35 -0
  38. data/lib/generators/roomer/migration/templates/migration.rb +17 -0
  39. data/lib/generators/roomer/model/model_generator.rb +45 -0
  40. data/lib/generators/roomer/model/templates/migration.rb +16 -0
  41. data/lib/generators/roomer/setup/setup_generator.rb +38 -0
  42. data/lib/generators/roomer/setup/templates/global_migration.rb +20 -0
  43. data/lib/roomer/extensions/controller.rb +36 -0
  44. data/lib/roomer/extensions/model.rb +72 -0
  45. data/lib/roomer/helpers/generator_helper.rb +30 -0
  46. data/lib/roomer/helpers/migration_helper.rb +7 -0
  47. data/lib/roomer/helpers/postgres_helper.rb +75 -0
  48. data/lib/roomer/rails.rb +24 -0
  49. data/lib/roomer/schema.rb +63 -0
  50. data/lib/roomer/schema_dumper.rb +36 -0
  51. data/lib/roomer/tasks/migrate.rake +85 -0
  52. data/lib/roomer/utils.rb +68 -0
  53. data/lib/roomer/version.rb +14 -0
  54. data/lib/roomer.rb +125 -0
  55. data/roomer.gemspec +22 -0
  56. data/test/config.rb +3 -0
  57. data/test/config.yml +7 -0
  58. data/test/generators/install_generator_test.rb +13 -0
  59. data/test/generators/migration_generator_test.rb +33 -0
  60. data/test/generators/model_generator_test.rb +25 -0
  61. data/test/generators/setup_generator_test.rb +25 -0
  62. data/test/rails_app/app/controllers/application_controller.rb +3 -0
  63. data/test/rails_app/app/helpers/application_helper.rb +2 -0
  64. data/test/rails_app/app/models/tenant.rb +12 -0
  65. data/test/rails_app/app/views/layouts/application.html.erb +14 -0
  66. data/test/rails_app/config/application.rb +50 -0
  67. data/test/rails_app/config/boot.rb +6 -0
  68. data/test/rails_app/config/database.yml +2 -0
  69. data/test/rails_app/config/environment.rb +5 -0
  70. data/test/rails_app/config/environments/development.rb +26 -0
  71. data/test/rails_app/config/environments/production.rb +49 -0
  72. data/test/rails_app/config/environments/test.rb +35 -0
  73. data/test/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  74. data/test/rails_app/config/initializers/inflections.rb +10 -0
  75. data/test/rails_app/config/initializers/mime_types.rb +5 -0
  76. data/test/rails_app/config/initializers/roomer.rb +68 -0
  77. data/test/rails_app/config/initializers/secret_token.rb +7 -0
  78. data/test/rails_app/config/initializers/session_store.rb +8 -0
  79. data/test/rails_app/config/locales/en.yml +5 -0
  80. data/test/rails_app/config/routes.rb +58 -0
  81. data/test/rails_app/config.ru +4 -0
  82. data/test/rails_app/db/migrate/global/20110825231409_roomer_create_tenants.rb +20 -0
  83. data/test/rails_app/db/seeds.rb +7 -0
  84. data/test/rails_app/lib/tasks/.gitkeep +0 -0
  85. data/test/rails_app/public/404.html +26 -0
  86. data/test/rails_app/public/422.html +26 -0
  87. data/test/rails_app/public/500.html +26 -0
  88. data/test/rails_app/public/favicon.ico +0 -0
  89. data/test/rails_app/public/images/rails.png +0 -0
  90. data/test/rails_app/public/index.html +239 -0
  91. data/test/rails_app/public/javascripts/application.js +2 -0
  92. data/test/rails_app/public/javascripts/controls.js +965 -0
  93. data/test/rails_app/public/javascripts/dragdrop.js +974 -0
  94. data/test/rails_app/public/javascripts/effects.js +1123 -0
  95. data/test/rails_app/public/javascripts/prototype.js +6001 -0
  96. data/test/rails_app/public/javascripts/rails.js +191 -0
  97. data/test/rails_app/public/robots.txt +5 -0
  98. data/test/rails_app/public/stylesheets/.gitkeep +0 -0
  99. data/test/roomer/helpers/postgres_helper_test.rb +62 -0
  100. data/test/roomer/roomer_test.rb +37 -0
  101. data/test/test_helper.rb +23 -0
  102. metadata +228 -0
@@ -0,0 +1,702 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Roomer::Tools
8
+
9
+ &mdash; Documentation by YARD 0.7.2
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '..';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="../_index.html">Index (T)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../Roomer.html" title="Roomer (module)">Roomer</a></span></span>
38
+ &raquo;
39
+ <span class="title">Tools</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Class: Roomer::Tools
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+ <dt class="r1">Inherits:</dt>
68
+ <dd class="r1">
69
+ <span class="inheritName">Object</span>
70
+
71
+ <ul class="fullTree">
72
+ <li>Object</li>
73
+
74
+ <li class="next">Roomer::Tools</li>
75
+
76
+ </ul>
77
+ <a href="#" class="inheritanceTree">show all</a>
78
+
79
+ </dd>
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+ <dt class="r2 last">Defined in:</dt>
90
+ <dd class="r2 last">lib/roomer/tools.rb</dd>
91
+
92
+ </dl>
93
+ <div class="clear"></div>
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+ <h2>
102
+ Class Method Summary
103
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
104
+ </h2>
105
+
106
+ <ul class="summary">
107
+
108
+ <li class="public ">
109
+ <span class="summary_signature">
110
+
111
+ <a href="#create_schema-class_method" title="create_schema (class method)">+ (Object) <strong>create_schema</strong>(schema_name) </a>
112
+
113
+
114
+
115
+ </span>
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+ <span class="summary_desc"><div class='inline'>
125
+ <p>Creates a schema in PostgreSQL.</p>
126
+ </div></span>
127
+
128
+ </li>
129
+
130
+
131
+ <li class="public ">
132
+ <span class="summary_signature">
133
+
134
+ <a href="#drop_schema-class_method" title="drop_schema (class method)">+ (Object) <strong>drop_schema</strong>(schema_name) </a>
135
+
136
+
137
+
138
+ </span>
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+ <span class="summary_desc"><div class='inline'>
148
+ <p>Drops a schema and all it’s objects (Cascades).</p>
149
+ </div></span>
150
+
151
+ </li>
152
+
153
+
154
+ <li class="public ">
155
+ <span class="summary_signature">
156
+
157
+ <a href="#ensure_prefix-class_method" title="ensure_prefix (class method)">+ (Object) <strong>ensure_prefix</strong>(prefix, &amp;block) </a>
158
+
159
+
160
+
161
+ </span>
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ <span class="summary_desc"><div class='inline'>
171
+ <p>Ensures the same ActiveRecord::Base#table_name_prefix for all the models
172
+ executed in the block.</p>
173
+ </div></span>
174
+
175
+ </li>
176
+
177
+
178
+ <li class="public ">
179
+ <span class="summary_signature">
180
+
181
+ <a href="#ensure_schema_migrations-class_method" title="ensure_schema_migrations (class method)">+ (Object) <strong>ensure_schema_migrations</strong> </a>
182
+
183
+
184
+
185
+ </span>
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+ <span class="summary_desc"><div class='inline'>
195
+ <p>Ensures schema_migrations table exists and creates otherwise.</p>
196
+ </div></span>
197
+
198
+ </li>
199
+
200
+
201
+ <li class="public ">
202
+ <span class="summary_signature">
203
+
204
+ <a href="#ensuring_schema-class_method" title="ensuring_schema (class method)">+ (Object) <strong>ensuring_schema</strong>(schema_name, &amp;block) </a>
205
+
206
+
207
+
208
+ </span>
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+ <span class="summary_desc"><div class='inline'>
218
+ <p>Ensures the schema and schema_migrations exist(creates them otherwise) and
219
+ executes the code block.</p>
220
+ </div></span>
221
+
222
+ </li>
223
+
224
+
225
+ <li class="public ">
226
+ <span class="summary_signature">
227
+
228
+ <a href="#schemas-class_method" title="schemas (class method)">+ (Array) <strong>schemas</strong> </a>
229
+
230
+
231
+
232
+ </span>
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+ <span class="summary_desc"><div class='inline'>
242
+ <p>lists the schemas available.</p>
243
+ </div></span>
244
+
245
+ </li>
246
+
247
+
248
+ </ul>
249
+
250
+
251
+
252
+
253
+ <div id="class_method_details" class="method_details_list">
254
+ <h2>Class Method Details</h2>
255
+
256
+
257
+ <div class="method_details first">
258
+ <p class="signature first" id="create_schema-class_method">
259
+
260
+ + (<tt>Object</tt>) <strong>create_schema</strong>(schema_name)
261
+
262
+
263
+
264
+ </p><div class="docstring">
265
+ <div class="discussion">
266
+
267
+ <p>Creates a schema in PostgreSQL</p>
268
+
269
+
270
+ </div>
271
+ </div>
272
+ <div class="tags">
273
+ <h3>Parameters:</h3>
274
+ <ul class="param">
275
+
276
+ <li>
277
+
278
+ <span class='name'>schema_name</span>
279
+
280
+
281
+ <span class='type'>(<tt>#to_s</tt>)</span>
282
+
283
+
284
+
285
+ &mdash;
286
+ <div class='inline'>
287
+ <p>declaring the name of the schema</p>
288
+ </div>
289
+
290
+ </li>
291
+
292
+ </ul>
293
+
294
+ </div><table class="source_code">
295
+ <tr>
296
+ <td>
297
+ <pre class="lines">
298
+
299
+
300
+ 7
301
+ 8
302
+ 9</pre>
303
+ </td>
304
+ <td>
305
+ <pre class="code"><span class="info file"># File 'lib/roomer/tools.rb', line 7</span>
306
+
307
+ <span class='def def kw'>def</span> <span class='create_schema identifier id'>create_schema</span><span class='lparen token'>(</span><span class='schema_name identifier id'>schema_name</span><span class='rparen token'>)</span>
308
+ <span class='ActiveRecord constant id'>ActiveRecord</span><span class='colon2 op'>::</span><span class='Base constant id'>Base</span><span class='dot token'>.</span><span class='connection identifier id'>connection</span><span class='dot token'>.</span><span class='execute identifier id'>execute</span> <span class='dstring node'>&quot;CREATE SCHEMA #{schema_name.to_s}&quot;</span>
309
+ <span class='end end kw'>end</span>
310
+ </pre>
311
+ </td>
312
+ </tr>
313
+ </table>
314
+ </div>
315
+
316
+ <div class="method_details ">
317
+ <p class="signature " id="drop_schema-class_method">
318
+
319
+ + (<tt>Object</tt>) <strong>drop_schema</strong>(schema_name)
320
+
321
+
322
+
323
+ </p><div class="docstring">
324
+ <div class="discussion">
325
+
326
+ <p>Drops a schema and all it’s objects (Cascades)</p>
327
+
328
+
329
+ </div>
330
+ </div>
331
+ <div class="tags">
332
+ <h3>Parameters:</h3>
333
+ <ul class="param">
334
+
335
+ <li>
336
+
337
+ <span class='name'>schema_name</span>
338
+
339
+
340
+ <span class='type'>(<tt>#to_s</tt>)</span>
341
+
342
+
343
+
344
+ &mdash;
345
+ <div class='inline'>
346
+ <p>declaring the name of the schema to drop</p>
347
+ </div>
348
+
349
+ </li>
350
+
351
+ </ul>
352
+
353
+ </div><table class="source_code">
354
+ <tr>
355
+ <td>
356
+ <pre class="lines">
357
+
358
+
359
+ 13
360
+ 14
361
+ 15</pre>
362
+ </td>
363
+ <td>
364
+ <pre class="code"><span class="info file"># File 'lib/roomer/tools.rb', line 13</span>
365
+
366
+ <span class='def def kw'>def</span> <span class='drop_schema identifier id'>drop_schema</span><span class='lparen token'>(</span><span class='schema_name identifier id'>schema_name</span><span class='rparen token'>)</span>
367
+ <span class='ActiveRecord constant id'>ActiveRecord</span><span class='colon2 op'>::</span><span class='Base constant id'>Base</span><span class='dot token'>.</span><span class='connection identifier id'>connection</span><span class='dot token'>.</span><span class='execute identifier id'>execute</span><span class='lparen token'>(</span><span class='dstring node'>&quot;DROP SCHEMA IF EXISTS #{name.to_s} CASCADE&quot;</span><span class='rparen token'>)</span>
368
+ <span class='end end kw'>end</span>
369
+ </pre>
370
+ </td>
371
+ </tr>
372
+ </table>
373
+ </div>
374
+
375
+ <div class="method_details ">
376
+ <p class="signature " id="ensure_prefix-class_method">
377
+
378
+ + (<tt>Object</tt>) <strong>ensure_prefix</strong>(prefix, &amp;block)
379
+
380
+
381
+
382
+ </p><div class="docstring">
383
+ <div class="discussion">
384
+
385
+ <div class="note notetag">
386
+ <strong>Note:</strong>
387
+ <div class='inline'>
388
+ <p>All the Models will have the same prefix, caution is advised</p>
389
+ </div>
390
+ </div>
391
+
392
+
393
+ <p>Ensures the same ActiveRecord::Base#table_name_prefix for all the models
394
+ executed in the block</p>
395
+
396
+
397
+ </div>
398
+ </div>
399
+ <div class="tags">
400
+
401
+ <div class="examples">
402
+ <h3>Examples:</h3>
403
+
404
+ <h4><div class='inline'></div></h4>
405
+ <pre class="example code"><span class='ensure_prefix identifier id'>ensure_prefix</span><span class='lparen token'>(</span><span class='symbol val'>:global</span><span class='rparen token'>)</span> <span class='do do kw'>do</span>
406
+ <span class='Person constant id'>Person</span><span class='dot token'>.</span><span class='find identifier id'>find</span><span class='lparen token'>(</span><span class='integer val'>1</span><span class='rparen token'>)</span> <span class='comment val'># =&gt; will execute &quot;SELECT id FROM 'global.person'&quot;</span>
407
+ <span class='end end kw'>end</span>
408
+ </pre>
409
+
410
+ </div>
411
+ <h3>Parameters:</h3>
412
+ <ul class="param">
413
+
414
+ <li>
415
+
416
+ <span class='name'>A</span>
417
+
418
+
419
+ <span class='type'>(<tt>#to_s</tt>)</span>
420
+
421
+
422
+
423
+ &mdash;
424
+ <div class='inline'>
425
+ <p>Symbol declaring the table name prefix</p>
426
+ </div>
427
+
428
+ </li>
429
+
430
+ <li>
431
+
432
+ <span class='name'>code</span>
433
+
434
+
435
+ <span class='type'>(<tt>#call</tt>)</span>
436
+
437
+
438
+
439
+ &mdash;
440
+ <div class='inline'>
441
+ <p>to execute</p>
442
+ </div>
443
+
444
+ </li>
445
+
446
+ </ul>
447
+
448
+ </div><table class="source_code">
449
+ <tr>
450
+ <td>
451
+ <pre class="lines">
452
+
453
+
454
+ 52
455
+ 53
456
+ 54
457
+ 55
458
+ 56</pre>
459
+ </td>
460
+ <td>
461
+ <pre class="code"><span class="info file"># File 'lib/roomer/tools.rb', line 52</span>
462
+
463
+ <span class='def def kw'>def</span> <span class='ensure_prefix identifier id'>ensure_prefix</span><span class='lparen token'>(</span><span class='prefix identifier id'>prefix</span><span class='comma token'>,</span> <span class='bitand op'>&amp;</span><span class='block identifier id'>block</span><span class='rparen token'>)</span>
464
+ <span class='ActiveRecord constant id'>ActiveRecord</span><span class='colon2 op'>::</span><span class='Base constant id'>Base</span><span class='dot token'>.</span><span class='table_name_prefix identifier id'>table_name_prefix</span> <span class='assign token'>=</span> <span class='dstring node'>&quot;#{prefix.to_s}#{Roomer.schema_seperator}&quot;</span>
465
+ <span class='yield yield kw'>yield</span>
466
+ <span class='ActiveRecord constant id'>ActiveRecord</span><span class='colon2 op'>::</span><span class='Base constant id'>Base</span><span class='dot token'>.</span><span class='table_name_prefix identifier id'>table_name_prefix</span> <span class='assign token'>=</span> <span class='old_prefix identifier id'>old_prefix</span>
467
+ <span class='end end kw'>end</span>
468
+ </pre>
469
+ </td>
470
+ </tr>
471
+ </table>
472
+ </div>
473
+
474
+ <div class="method_details ">
475
+ <p class="signature " id="ensure_schema_migrations-class_method">
476
+
477
+ + (<tt>Object</tt>) <strong>ensure_schema_migrations</strong>
478
+
479
+
480
+
481
+ </p><div class="docstring">
482
+ <div class="discussion">
483
+
484
+ <p>Ensures schema_migrations table exists and creates otherwise</p>
485
+
486
+
487
+ </div>
488
+ </div>
489
+ <div class="tags">
490
+
491
+ <h3>See Also:</h3>
492
+ <ul class="see">
493
+
494
+ <li>ActiveRecord::Base.connection#initialize_schema_migrations_table</li>
495
+
496
+ </ul>
497
+
498
+ </div><table class="source_code">
499
+ <tr>
500
+ <td>
501
+ <pre class="lines">
502
+
503
+
504
+ 60
505
+ 61
506
+ 62</pre>
507
+ </td>
508
+ <td>
509
+ <pre class="code"><span class="info file"># File 'lib/roomer/tools.rb', line 60</span>
510
+
511
+ <span class='def def kw'>def</span> <span class='ensure_schema_migrations identifier id'>ensure_schema_migrations</span>
512
+ <span class='ActiveRecord constant id'>ActiveRecord</span><span class='colon2 op'>::</span><span class='Base constant id'>Base</span><span class='dot token'>.</span><span class='connection identifier id'>connection</span><span class='dot token'>.</span><span class='initialize_schema_migrations_table identifier id'>initialize_schema_migrations_table</span>
513
+ <span class='end end kw'>end</span>
514
+ </pre>
515
+ </td>
516
+ </tr>
517
+ </table>
518
+ </div>
519
+
520
+ <div class="method_details ">
521
+ <p class="signature " id="ensuring_schema-class_method">
522
+
523
+ + (<tt>Object</tt>) <strong>ensuring_schema</strong>(schema_name, &amp;block)
524
+
525
+
526
+
527
+ </p><div class="docstring">
528
+ <div class="discussion">
529
+
530
+ <p>Ensures the schema and schema_migrations exist(creates them otherwise) and
531
+ executes the code block</p>
532
+
533
+
534
+ </div>
535
+ </div>
536
+ <div class="tags">
537
+
538
+ <div class="examples">
539
+ <h3>Examples:</h3>
540
+
541
+ <h4><div class='inline'></div></h4>
542
+ <pre class="example code"><span class='ensuring_schema identifier id'>ensuring_schema</span><span class='lparen token'>(</span><span class='symbol val'>:global</span><span class='rparen token'>)</span> <span class='do do kw'>do</span>
543
+ <span class='ActiveRecord constant id'>ActiveRecord</span><span class='colon2 op'>::</span><span class='Migrator constant id'>Migrator</span><span class='dot token'>.</span><span class='migrate identifier id'>migrate</span><span class='lparen token'>(</span><span class='string val'>'/db/migrate'</span><span class='comma token'>,</span> <span class='string val'>'20110812012536'</span><span class='rparen token'>)</span>
544
+ <span class='end end kw'>end</span>
545
+ </pre>
546
+
547
+ </div>
548
+ <h3>Parameters:</h3>
549
+ <ul class="param">
550
+
551
+ <li>
552
+
553
+ <span class='name'>schema_name</span>
554
+
555
+
556
+ <span class='type'>(<tt>#to_s</tt>)</span>
557
+
558
+
559
+
560
+ &mdash;
561
+ <div class='inline'>
562
+ <p>declaring name to ensure</p>
563
+ </div>
564
+
565
+ </li>
566
+
567
+ <li>
568
+
569
+ <span class='name'>&amp;block</span>
570
+
571
+
572
+ <span class='type'>(<tt>#call</tt>)</span>
573
+
574
+
575
+
576
+ &mdash;
577
+ <div class='inline'>
578
+ <p>code to execute</p>
579
+ </div>
580
+
581
+ </li>
582
+
583
+ </ul>
584
+ <h3>Raises:</h3>
585
+ <ul class="raise">
586
+
587
+ <li>
588
+
589
+
590
+ <span class='type'>(<tt>ArgumentError</tt>)</span>
591
+
592
+
593
+
594
+ </li>
595
+
596
+ </ul>
597
+
598
+ </div><table class="source_code">
599
+ <tr>
600
+ <td>
601
+ <pre class="lines">
602
+
603
+
604
+ 31
605
+ 32
606
+ 33
607
+ 34
608
+ 35
609
+ 36
610
+ 37
611
+ 38
612
+ 39
613
+ 40</pre>
614
+ </td>
615
+ <td>
616
+ <pre class="code"><span class="info file"># File 'lib/roomer/tools.rb', line 31</span>
617
+
618
+ <span class='def def kw'>def</span> <span class='ensuring_schema identifier id'>ensuring_schema</span><span class='lparen token'>(</span><span class='schema_name identifier id'>schema_name</span><span class='comma token'>,</span> <span class='bitand op'>&amp;</span><span class='block identifier id'>block</span><span class='rparen token'>)</span>
619
+ <span class='raise identifier id'>raise</span> <span class='ArgumentError constant id'>ArgumentError</span><span class='dot token'>.</span><span class='new identifier id'>new</span><span class='lparen token'>(</span><span class='string val'>&quot;schema_name not present&quot;</span><span class='rparen token'>)</span> <span class='unless unless_mod kw'>unless</span> <span class='schema_name identifier id'>schema_name</span>
620
+ <span class='ActiveRecord constant id'>ActiveRecord</span><span class='colon2 op'>::</span><span class='Migration constant id'>Migration</span><span class='dot token'>.</span><span class='verbose identifier id'>verbose</span> <span class='assign token'>=</span> <span class='ENV constant id'>ENV</span><span class='lbrack token'>[</span><span class='string val'>&quot;VERBOSE&quot;</span><span class='rbrack token'>]</span> <span class='question op'>?</span> <span class='ENV constant id'>ENV</span><span class='lbrack token'>[</span><span class='string val'>&quot;VERBOSE&quot;</span><span class='rbrack token'>]</span> <span class='eq op'>==</span> <span class='string val'>&quot;true&quot;</span> <span class='colon op'>:</span> <span class='true true kw'>true</span>
621
+ <span class='create_schema identifier id'>create_schema</span><span class='lparen token'>(</span><span class='schema_name identifier id'>schema_name</span><span class='rparen token'>)</span> <span class='unless unless_mod kw'>unless</span> <span class='schemas identifier id'>schemas</span><span class='dot token'>.</span><span class='include? fid id'>include?</span><span class='lparen token'>(</span><span class='schema_name identifier id'>schema_name</span><span class='dot token'>.</span><span class='to_s identifier id'>to_s</span><span class='rparen token'>)</span>
622
+ <span class='ActiveRecord constant id'>ActiveRecord</span><span class='colon2 op'>::</span><span class='Base constant id'>Base</span><span class='dot token'>.</span><span class='table_name_prefix identifier id'>table_name_prefix</span> <span class='assign token'>=</span> <span class='dstring node'>&quot;#{schema_name.to_s}#{Roomer.schema_seperator.to_s}&quot;</span>
623
+ <span class='ensure_prefix identifier id'>ensure_prefix</span><span class='lparen token'>(</span><span class='schema_name identifier id'>schema_name</span><span class='rparen token'>)</span> <span class='do do kw'>do</span>
624
+ <span class='ensure_schema_migrations identifier id'>ensure_schema_migrations</span>
625
+ <span class='yield yield kw'>yield</span>
626
+ <span class='end end kw'>end</span>
627
+ <span class='end end kw'>end</span>
628
+ </pre>
629
+ </td>
630
+ </tr>
631
+ </table>
632
+ </div>
633
+
634
+ <div class="method_details ">
635
+ <p class="signature " id="schemas-class_method">
636
+
637
+ + (<tt>Array</tt>) <strong>schemas</strong>
638
+
639
+
640
+
641
+ </p><div class="docstring">
642
+ <div class="discussion">
643
+
644
+ <p>lists the schemas available</p>
645
+
646
+
647
+ </div>
648
+ </div>
649
+ <div class="tags">
650
+ <h3>Returns:</h3>
651
+ <ul class="return">
652
+
653
+ <li>
654
+
655
+
656
+ <span class='type'>(<tt>Array</tt>)</span>
657
+
658
+
659
+
660
+ &mdash;
661
+ <div class='inline'>
662
+ <p>list of schemas</p>
663
+ </div>
664
+
665
+ </li>
666
+
667
+ </ul>
668
+
669
+ </div><table class="source_code">
670
+ <tr>
671
+ <td>
672
+ <pre class="lines">
673
+
674
+
675
+ 19
676
+ 20
677
+ 21</pre>
678
+ </td>
679
+ <td>
680
+ <pre class="code"><span class="info file"># File 'lib/roomer/tools.rb', line 19</span>
681
+
682
+ <span class='def def kw'>def</span> <span class='schemas identifier id'>schemas</span>
683
+ <span class='ActiveRecord constant id'>ActiveRecord</span><span class='colon2 op'>::</span><span class='Base constant id'>Base</span><span class='dot token'>.</span><span class='connection identifier id'>connection</span><span class='dot token'>.</span><span class='query identifier id'>query</span><span class='lparen token'>(</span><span class='string val'>&quot;SELECT nspname FROM pg_namespace WHERE nspname !~ '^pg_.*'&quot;</span><span class='rparen token'>)</span><span class='dot token'>.</span><span class='flatten identifier id'>flatten</span>
684
+ <span class='end end kw'>end</span>
685
+ </pre>
686
+ </td>
687
+ </tr>
688
+ </table>
689
+ </div>
690
+
691
+ </div>
692
+
693
+ </div>
694
+
695
+ <div id="footer">
696
+ Generated on Fri Aug 12 10:39:13 2011 by
697
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
698
+ 0.7.2 (ruby-1.8.7).
699
+ </div>
700
+
701
+ </body>
702
+ </html>