roomer 0.0.8
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.
- data/.autotest +17 -0
- data/.gitignore +9 -0
- data/.rvmrc +2 -0
- data/.travis.yml +2 -0
- data/Gemfile +31 -0
- data/MIT-LICENSE +20 -0
- data/README.md +116 -0
- data/Rakefile +16 -0
- data/TODO.md +10 -0
- data/doc/ActiveRecord/Base.html +328 -0
- data/doc/ApplicationController.html +116 -0
- data/doc/Roomer/Engine.html +116 -0
- data/doc/Roomer/Generators/InstallGenerator.html +419 -0
- data/doc/Roomer/Generators/SetupGenerator.html +209 -0
- data/doc/Roomer/Generators.html +108 -0
- data/doc/Roomer/Tools.html +702 -0
- data/doc/Roomer/VERSION.html +149 -0
- data/doc/Roomer.html +533 -0
- data/doc/RoomerCreate.html +121 -0
- data/doc/_index.html +232 -0
- data/doc/class_list.html +47 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +320 -0
- data/doc/file.README.html +146 -0
- data/doc/file_list.html +49 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +146 -0
- data/doc/js/app.js +205 -0
- data/doc/js/full_list.js +150 -0
- data/doc/js/jquery.js +16 -0
- data/doc/method_list.html +182 -0
- data/doc/top-level-namespace.html +105 -0
- data/lib/generators/roomer/install/install_generator.rb +39 -0
- data/lib/generators/roomer/install/templates/README +15 -0
- data/lib/generators/roomer/install/templates/roomer.rb +68 -0
- data/lib/generators/roomer/migration/migration_generator.rb +35 -0
- data/lib/generators/roomer/migration/templates/migration.rb +17 -0
- data/lib/generators/roomer/model/model_generator.rb +45 -0
- data/lib/generators/roomer/model/templates/migration.rb +16 -0
- data/lib/generators/roomer/setup/setup_generator.rb +38 -0
- data/lib/generators/roomer/setup/templates/global_migration.rb +20 -0
- data/lib/roomer/extensions/controller.rb +36 -0
- data/lib/roomer/extensions/model.rb +72 -0
- data/lib/roomer/helpers/generator_helper.rb +30 -0
- data/lib/roomer/helpers/migration_helper.rb +7 -0
- data/lib/roomer/helpers/postgres_helper.rb +75 -0
- data/lib/roomer/rails.rb +24 -0
- data/lib/roomer/schema.rb +63 -0
- data/lib/roomer/schema_dumper.rb +36 -0
- data/lib/roomer/tasks/migrate.rake +85 -0
- data/lib/roomer/utils.rb +68 -0
- data/lib/roomer/version.rb +14 -0
- data/lib/roomer.rb +125 -0
- data/roomer.gemspec +22 -0
- data/test/config.rb +3 -0
- data/test/config.yml +7 -0
- data/test/generators/install_generator_test.rb +13 -0
- data/test/generators/migration_generator_test.rb +33 -0
- data/test/generators/model_generator_test.rb +25 -0
- data/test/generators/setup_generator_test.rb +25 -0
- data/test/rails_app/app/controllers/application_controller.rb +3 -0
- data/test/rails_app/app/helpers/application_helper.rb +2 -0
- data/test/rails_app/app/models/tenant.rb +12 -0
- data/test/rails_app/app/views/layouts/application.html.erb +14 -0
- data/test/rails_app/config/application.rb +50 -0
- data/test/rails_app/config/boot.rb +6 -0
- data/test/rails_app/config/database.yml +2 -0
- data/test/rails_app/config/environment.rb +5 -0
- data/test/rails_app/config/environments/development.rb +26 -0
- data/test/rails_app/config/environments/production.rb +49 -0
- data/test/rails_app/config/environments/test.rb +35 -0
- data/test/rails_app/config/initializers/backtrace_silencers.rb +7 -0
- data/test/rails_app/config/initializers/inflections.rb +10 -0
- data/test/rails_app/config/initializers/mime_types.rb +5 -0
- data/test/rails_app/config/initializers/roomer.rb +68 -0
- data/test/rails_app/config/initializers/secret_token.rb +7 -0
- data/test/rails_app/config/initializers/session_store.rb +8 -0
- data/test/rails_app/config/locales/en.yml +5 -0
- data/test/rails_app/config/routes.rb +58 -0
- data/test/rails_app/config.ru +4 -0
- data/test/rails_app/db/migrate/global/20110825231409_roomer_create_tenants.rb +20 -0
- data/test/rails_app/db/seeds.rb +7 -0
- data/test/rails_app/lib/tasks/.gitkeep +0 -0
- data/test/rails_app/public/404.html +26 -0
- data/test/rails_app/public/422.html +26 -0
- data/test/rails_app/public/500.html +26 -0
- data/test/rails_app/public/favicon.ico +0 -0
- data/test/rails_app/public/images/rails.png +0 -0
- data/test/rails_app/public/index.html +239 -0
- data/test/rails_app/public/javascripts/application.js +2 -0
- data/test/rails_app/public/javascripts/controls.js +965 -0
- data/test/rails_app/public/javascripts/dragdrop.js +974 -0
- data/test/rails_app/public/javascripts/effects.js +1123 -0
- data/test/rails_app/public/javascripts/prototype.js +6001 -0
- data/test/rails_app/public/javascripts/rails.js +191 -0
- data/test/rails_app/public/robots.txt +5 -0
- data/test/rails_app/public/stylesheets/.gitkeep +0 -0
- data/test/roomer/helpers/postgres_helper_test.rb +62 -0
- data/test/roomer/roomer_test.rb +37 -0
- data/test/test_helper.rb +23 -0
- 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
|
+
— 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> »
|
|
37
|
+
<span class='title'><span class='object_link'><a href="../Roomer.html" title="Roomer (module)">Roomer</a></span></span>
|
|
38
|
+
»
|
|
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, &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, &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
|
+
—
|
|
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'>"CREATE SCHEMA #{schema_name.to_s}"</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
|
+
—
|
|
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'>"DROP SCHEMA IF EXISTS #{name.to_s} CASCADE"</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, &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'># => will execute "SELECT id FROM 'global.person'"</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
|
+
—
|
|
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
|
+
—
|
|
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'>&</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'>"#{prefix.to_s}#{Roomer.schema_seperator}"</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, &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
|
+
—
|
|
561
|
+
<div class='inline'>
|
|
562
|
+
<p>declaring name to ensure</p>
|
|
563
|
+
</div>
|
|
564
|
+
|
|
565
|
+
</li>
|
|
566
|
+
|
|
567
|
+
<li>
|
|
568
|
+
|
|
569
|
+
<span class='name'>&block</span>
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
<span class='type'>(<tt>#call</tt>)</span>
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
—
|
|
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'>&</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'>"schema_name not present"</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'>"VERBOSE"</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'>"VERBOSE"</span><span class='rbrack token'>]</span> <span class='eq op'>==</span> <span class='string val'>"true"</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'>"#{schema_name.to_s}#{Roomer.schema_seperator.to_s}"</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
|
+
—
|
|
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'>"SELECT nspname FROM pg_namespace WHERE nspname !~ '^pg_.*'"</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>
|