sqlconstructor 0.1

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 (80) hide show
  1. checksums.yaml +15 -0
  2. data/LICENSE.md +16 -0
  3. data/README.md +161 -0
  4. data/Rakefile +11 -0
  5. data/doc/Object.html +267 -0
  6. data/doc/Rakefile.html +150 -0
  7. data/doc/SQLAliasedList.html +717 -0
  8. data/doc/SQLColumn.html +326 -0
  9. data/doc/SQLCondList.html +318 -0
  10. data/doc/SQLConditional.html +1082 -0
  11. data/doc/SQLConditional/BasicCond.html +325 -0
  12. data/doc/SQLConstructor.html +763 -0
  13. data/doc/SQLConstructor/BasicDelete.html +383 -0
  14. data/doc/SQLConstructor/BasicDelete_mysql.html +368 -0
  15. data/doc/SQLConstructor/BasicInsert.html +339 -0
  16. data/doc/SQLConstructor/BasicInsert_mysql.html +325 -0
  17. data/doc/SQLConstructor/BasicJoin.html +408 -0
  18. data/doc/SQLConstructor/BasicJoin_mysql.html +439 -0
  19. data/doc/SQLConstructor/BasicSelect.html +554 -0
  20. data/doc/SQLConstructor/BasicSelect_example.html +288 -0
  21. data/doc/SQLConstructor/BasicSelect_mysql.html +466 -0
  22. data/doc/SQLConstructor/BasicUnion.html +396 -0
  23. data/doc/SQLConstructor/BasicUpdate.html +409 -0
  24. data/doc/SQLConstructor/BasicUpdate_mysql.html +310 -0
  25. data/doc/SQLConstructor/GenericQuery.html +797 -0
  26. data/doc/SQLConstructor/QAttr.html +398 -0
  27. data/doc/SQLConstructorTest.html +603 -0
  28. data/doc/SQLExporter.html +382 -0
  29. data/doc/SQLExporter/Exporter_generic.html +413 -0
  30. data/doc/SQLExporter/Exporter_mysql.html +395 -0
  31. data/doc/SQLObject.html +525 -0
  32. data/doc/SQLValList.html +322 -0
  33. data/doc/SQLValue.html +375 -0
  34. data/doc/created.rid +12 -0
  35. data/doc/images/brick.png +0 -0
  36. data/doc/images/brick_link.png +0 -0
  37. data/doc/images/bug.png +0 -0
  38. data/doc/images/bullet_black.png +0 -0
  39. data/doc/images/bullet_toggle_minus.png +0 -0
  40. data/doc/images/bullet_toggle_plus.png +0 -0
  41. data/doc/images/date.png +0 -0
  42. data/doc/images/find.png +0 -0
  43. data/doc/images/loadingAnimation.gif +0 -0
  44. data/doc/images/macFFBgHack.png +0 -0
  45. data/doc/images/package.png +0 -0
  46. data/doc/images/page_green.png +0 -0
  47. data/doc/images/page_white_text.png +0 -0
  48. data/doc/images/page_white_width.png +0 -0
  49. data/doc/images/plugin.png +0 -0
  50. data/doc/images/ruby.png +0 -0
  51. data/doc/images/tag_green.png +0 -0
  52. data/doc/images/wrench.png +0 -0
  53. data/doc/images/wrench_orange.png +0 -0
  54. data/doc/images/zoom.png +0 -0
  55. data/doc/index.html +356 -0
  56. data/doc/js/darkfish.js +118 -0
  57. data/doc/js/jquery.js +32 -0
  58. data/doc/js/quicksearch.js +114 -0
  59. data/doc/js/thickbox-compressed.js +10 -0
  60. data/doc/lib/dialects/example-constructor_rb.html +52 -0
  61. data/doc/lib/dialects/mysql-constructor_rb.html +52 -0
  62. data/doc/lib/dialects/mysql-exporter_rb.html +54 -0
  63. data/doc/lib/sqlconditional_rb.html +64 -0
  64. data/doc/lib/sqlconstructor_rb.html +52 -0
  65. data/doc/lib/sqlerrors_rb.html +54 -0
  66. data/doc/lib/sqlexporter_rb.html +55 -0
  67. data/doc/lib/sqlobject_rb.html +54 -0
  68. data/doc/rdoc.css +763 -0
  69. data/doc/test/queries_rb.html +56 -0
  70. data/doc/test_rb.html +52 -0
  71. data/lib/dialects/example-constructor.rb +45 -0
  72. data/lib/dialects/mysql-constructor.rb +247 -0
  73. data/lib/dialects/mysql-exporter.rb +108 -0
  74. data/lib/sqlconditional.rb +196 -0
  75. data/lib/sqlconstructor.rb +708 -0
  76. data/lib/sqlerrors.rb +15 -0
  77. data/lib/sqlexporter.rb +125 -0
  78. data/lib/sqlobject.rb +284 -0
  79. data/test/queries.rb +92 -0
  80. metadata +121 -0
@@ -0,0 +1,310 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: SQLConstructor::BasicUpdate_mysql</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
13
+ <script src="../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
14
+ <script src="../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
16
+
17
+ </head>
18
+ <body id="top" class="class">
19
+
20
+ <div id="metadata">
21
+ <div id="home-metadata">
22
+ <div id="home-section" class="section">
23
+ <h3 class="section-header">
24
+ <a href="../index.html">Home</a>
25
+ <a href="../index.html#classes">Classes</a>
26
+ <a href="../index.html#methods">Methods</a>
27
+ </h3>
28
+ </div>
29
+ </div>
30
+
31
+ <div id="file-metadata">
32
+ <div id="file-list-section" class="section">
33
+ <h3 class="section-header">In Files</h3>
34
+ <div class="section-body">
35
+ <ul>
36
+
37
+ <li><a href="../lib/dialects/mysql-constructor_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
38
+ class="thickbox" title="lib/dialects/mysql-constructor.rb">lib/dialects/mysql-constructor.rb</a></li>
39
+
40
+ </ul>
41
+ </div>
42
+ </div>
43
+
44
+
45
+ </div>
46
+
47
+ <div id="class-metadata">
48
+
49
+ <!-- Parent Class -->
50
+ <div id="parent-class-section" class="section">
51
+ <h3 class="section-header">Parent</h3>
52
+
53
+ <p class="link"><a href="BasicUpdate.html">SQLConstructor::BasicUpdate</a></p>
54
+
55
+ </div>
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+ <!-- Method Quickref -->
64
+ <div id="method-list-section" class="section">
65
+ <h3 class="section-header">Methods</h3>
66
+ <ul class="link-list">
67
+
68
+ <li><a href="#method-c-new">::new</a></li>
69
+
70
+ </ul>
71
+ </div>
72
+
73
+
74
+
75
+ </div>
76
+
77
+ <div id="project-metadata">
78
+
79
+
80
+ <div id="fileindex-section" class="section project-section">
81
+ <h3 class="section-header">Files</h3>
82
+ <ul>
83
+
84
+ <li class="file"><a href="../Rakefile.html">Rakefile</a></li>
85
+
86
+ </ul>
87
+ </div>
88
+
89
+
90
+ <div id="classindex-section" class="section project-section">
91
+ <h3 class="section-header">Class/Module Index
92
+ <span class="search-toggle"><img src="../images/find.png"
93
+ height="16" width="16" alt="[+]"
94
+ title="show/hide quicksearch" /></span></h3>
95
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
96
+ <fieldset>
97
+ <legend>Quicksearch</legend>
98
+ <input type="text" name="quicksearch" value=""
99
+ class="quicksearch-field" />
100
+ </fieldset>
101
+ </form>
102
+
103
+ <ul class="link-list">
104
+
105
+ <li><a href="../SQLConstructor.html">SQLConstructor</a></li>
106
+
107
+ <li><a href="../SQLConstructor/BasicDelete.html">SQLConstructor::BasicDelete</a></li>
108
+
109
+ <li><a href="../SQLConstructor/BasicDelete_mysql.html">SQLConstructor::BasicDelete_mysql</a></li>
110
+
111
+ <li><a href="../SQLConstructor/BasicInsert.html">SQLConstructor::BasicInsert</a></li>
112
+
113
+ <li><a href="../SQLConstructor/BasicInsert_mysql.html">SQLConstructor::BasicInsert_mysql</a></li>
114
+
115
+ <li><a href="../SQLConstructor/BasicJoin.html">SQLConstructor::BasicJoin</a></li>
116
+
117
+ <li><a href="../SQLConstructor/BasicJoin_mysql.html">SQLConstructor::BasicJoin_mysql</a></li>
118
+
119
+ <li><a href="../SQLConstructor/BasicSelect.html">SQLConstructor::BasicSelect</a></li>
120
+
121
+ <li><a href="../SQLConstructor/BasicSelect_example.html">SQLConstructor::BasicSelect_example</a></li>
122
+
123
+ <li><a href="../SQLConstructor/BasicSelect_mysql.html">SQLConstructor::BasicSelect_mysql</a></li>
124
+
125
+ <li><a href="../SQLConstructor/BasicUnion.html">SQLConstructor::BasicUnion</a></li>
126
+
127
+ <li><a href="../SQLConstructor/BasicUpdate.html">SQLConstructor::BasicUpdate</a></li>
128
+
129
+ <li><a href="../SQLConstructor/BasicUpdate_mysql.html">SQLConstructor::BasicUpdate_mysql</a></li>
130
+
131
+ <li><a href="../SQLConstructor/GenericQuery.html">SQLConstructor::GenericQuery</a></li>
132
+
133
+ <li><a href="../SQLConstructor/QAttr.html">SQLConstructor::QAttr</a></li>
134
+
135
+ <li><a href="../SQLExporter.html">SQLExporter</a></li>
136
+
137
+ <li><a href="../SQLExporter/Exporter_generic.html">SQLExporter::Exporter_generic</a></li>
138
+
139
+ <li><a href="../SQLExporter/Exporter_mysql.html">SQLExporter::Exporter_mysql</a></li>
140
+
141
+ <li><a href="../SQLConditional.html">SQLConditional</a></li>
142
+
143
+ <li><a href="../SQLConditional/BasicCond.html">SQLConditional::BasicCond</a></li>
144
+
145
+ <li><a href="../Object.html">Object</a></li>
146
+
147
+ <li><a href="../SQLAliasedList.html">SQLAliasedList</a></li>
148
+
149
+ <li><a href="../SQLColumn.html">SQLColumn</a></li>
150
+
151
+ <li><a href="../SQLCondList.html">SQLCondList</a></li>
152
+
153
+ <li><a href="../SQLConstructorTest.html">SQLConstructorTest</a></li>
154
+
155
+ <li><a href="../SQLObject.html">SQLObject</a></li>
156
+
157
+ <li><a href="../SQLValList.html">SQLValList</a></li>
158
+
159
+ <li><a href="../SQLValue.html">SQLValue</a></li>
160
+
161
+ </ul>
162
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
163
+ </div>
164
+
165
+
166
+ </div>
167
+ </div>
168
+
169
+ <div id="documentation">
170
+ <h1 class="class">SQLConstructor::BasicUpdate_mysql</h1>
171
+
172
+ <div id="description" class="description">
173
+
174
+ <p>MySQL dialect descendant of <a href="BasicUpdate.html">BasicUpdate</a>
175
+ class</p>
176
+
177
+ </div><!-- description -->
178
+
179
+
180
+
181
+
182
+ <div id="5Buntitled-5D" class="documentation-section">
183
+
184
+
185
+
186
+
187
+
188
+ <!-- Constants -->
189
+ <div id="constants-list" class="section">
190
+ <h3 class="section-header">Constants</h3>
191
+ <dl>
192
+
193
+ <dt><a name="METHODS">METHODS</a></dt>
194
+
195
+ <dd class="description"></dd>
196
+
197
+
198
+ </dl>
199
+ </div>
200
+
201
+
202
+
203
+ <!-- Attributes -->
204
+ <div id="attribute-method-details" class="method-section section">
205
+ <h3 class="section-header">Attributes</h3>
206
+
207
+
208
+ <div id="attr_limit-attribute-method" class="method-detail">
209
+ <a name="attr_limit"></a>
210
+
211
+ <div class="method-heading attribute-method-heading">
212
+ <span class="method-name">attr_limit</span><span
213
+ class="attribute-access-type">[R]</span>
214
+ </div>
215
+
216
+ <div class="method-description">
217
+
218
+
219
+
220
+ </div>
221
+ </div>
222
+
223
+ <div id="upd_ignore-attribute-method" class="method-detail">
224
+ <a name="upd_ignore"></a>
225
+
226
+ <div class="method-heading attribute-method-heading">
227
+ <span class="method-name">upd_ignore</span><span
228
+ class="attribute-access-type">[R]</span>
229
+ </div>
230
+
231
+ <div class="method-description">
232
+
233
+
234
+
235
+ </div>
236
+ </div>
237
+
238
+ <div id="upd_low_priority-attribute-method" class="method-detail">
239
+ <a name="upd_low_priority"></a>
240
+
241
+ <div class="method-heading attribute-method-heading">
242
+ <span class="method-name">upd_low_priority</span><span
243
+ class="attribute-access-type">[R]</span>
244
+ </div>
245
+
246
+ <div class="method-description">
247
+
248
+
249
+
250
+ </div>
251
+ </div>
252
+
253
+ </div><!-- attribute-method-details -->
254
+
255
+
256
+ <!-- Methods -->
257
+
258
+ <div id="public-class-method-details" class="method-section section">
259
+ <h3 class="section-header">Public Class Methods</h3>
260
+
261
+
262
+ <div id="new-method" class="method-detail ">
263
+ <a name="method-c-new"></a>
264
+
265
+
266
+ <div class="method-heading">
267
+ <span class="method-name">new</span><span
268
+ class="method-args">( _caller, *list )</span>
269
+ <span class="method-click-advice">click to toggle source</span>
270
+ </div>
271
+
272
+
273
+ <div class="method-description">
274
+
275
+ <p>Class constructor. _caller - the caller object</p>
276
+
277
+
278
+
279
+ <div class="method-source-code" id="new-source">
280
+ <pre>
281
+ <span class="ruby-comment"># File lib/dialects/mysql-constructor.rb, line 171</span>
282
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span> ( <span class="ruby-identifier">_caller</span>, *<span class="ruby-identifier">list</span> )
283
+ <span class="ruby-keyword">super</span>
284
+ <span class="ruby-keyword">end</span></pre>
285
+ </div><!-- new-source -->
286
+
287
+ </div>
288
+
289
+
290
+
291
+
292
+ </div><!-- new-method -->
293
+
294
+
295
+ </div><!-- public-class-method-details -->
296
+
297
+ </div><!-- 5Buntitled-5D -->
298
+
299
+
300
+ </div><!-- documentation -->
301
+
302
+ <div id="validator-badges">
303
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
304
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
305
+ Rdoc Generator</a> 2</small>.</p>
306
+ </div>
307
+
308
+ </body>
309
+ </html>
310
+
@@ -0,0 +1,797 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: SQLConstructor::GenericQuery</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript" charset="utf-8"></script>
13
+ <script src="../js/thickbox-compressed.js" type="text/javascript" charset="utf-8"></script>
14
+ <script src="../js/quicksearch.js" type="text/javascript" charset="utf-8"></script>
15
+ <script src="../js/darkfish.js" type="text/javascript" charset="utf-8"></script>
16
+
17
+ </head>
18
+ <body id="top" class="class">
19
+
20
+ <div id="metadata">
21
+ <div id="home-metadata">
22
+ <div id="home-section" class="section">
23
+ <h3 class="section-header">
24
+ <a href="../index.html">Home</a>
25
+ <a href="../index.html#classes">Classes</a>
26
+ <a href="../index.html#methods">Methods</a>
27
+ </h3>
28
+ </div>
29
+ </div>
30
+
31
+ <div id="file-metadata">
32
+ <div id="file-list-section" class="section">
33
+ <h3 class="section-header">In Files</h3>
34
+ <div class="section-body">
35
+ <ul>
36
+
37
+ <li><a href="../lib/sqlconstructor_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
38
+ class="thickbox" title="lib/sqlconstructor.rb">lib/sqlconstructor.rb</a></li>
39
+
40
+ </ul>
41
+ </div>
42
+ </div>
43
+
44
+
45
+ </div>
46
+
47
+ <div id="class-metadata">
48
+
49
+ <!-- Parent Class -->
50
+ <div id="parent-class-section" class="section">
51
+ <h3 class="section-header">Parent</h3>
52
+
53
+ <p class="link"><a href="../SQLObject.html">SQLObject</a></p>
54
+
55
+ </div>
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+ <!-- Method Quickref -->
64
+ <div id="method-list-section" class="section">
65
+ <h3 class="section-header">Methods</h3>
66
+ <ul class="link-list">
67
+
68
+ <li><a href="#method-c-new">::new</a></li>
69
+
70
+ <li><a href="#method-i-_addJoin">#_addJoin</a></li>
71
+
72
+ <li><a href="#method-i-_get">#_get</a></li>
73
+
74
+ <li><a href="#method-i-_getBasicClass">#_getBasicClass</a></li>
75
+
76
+ <li><a href="#method-i-_remove">#_remove</a></li>
77
+
78
+ <li><a href="#method-i-_setMethods">#_setMethods</a></li>
79
+
80
+ <li><a href="#method-i-method_missing">#method_missing</a></li>
81
+
82
+ <li><a href="#method-i-to_s">#to_s</a></li>
83
+
84
+ <li><a href="#method-i-to_str">#to_str</a></li>
85
+
86
+ </ul>
87
+ </div>
88
+
89
+
90
+
91
+ </div>
92
+
93
+ <div id="project-metadata">
94
+
95
+
96
+ <div id="fileindex-section" class="section project-section">
97
+ <h3 class="section-header">Files</h3>
98
+ <ul>
99
+
100
+ <li class="file"><a href="../Rakefile.html">Rakefile</a></li>
101
+
102
+ </ul>
103
+ </div>
104
+
105
+
106
+ <div id="classindex-section" class="section project-section">
107
+ <h3 class="section-header">Class/Module Index
108
+ <span class="search-toggle"><img src="../images/find.png"
109
+ height="16" width="16" alt="[+]"
110
+ title="show/hide quicksearch" /></span></h3>
111
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
112
+ <fieldset>
113
+ <legend>Quicksearch</legend>
114
+ <input type="text" name="quicksearch" value=""
115
+ class="quicksearch-field" />
116
+ </fieldset>
117
+ </form>
118
+
119
+ <ul class="link-list">
120
+
121
+ <li><a href="../SQLConstructor.html">SQLConstructor</a></li>
122
+
123
+ <li><a href="../SQLConstructor/BasicDelete.html">SQLConstructor::BasicDelete</a></li>
124
+
125
+ <li><a href="../SQLConstructor/BasicDelete_mysql.html">SQLConstructor::BasicDelete_mysql</a></li>
126
+
127
+ <li><a href="../SQLConstructor/BasicInsert.html">SQLConstructor::BasicInsert</a></li>
128
+
129
+ <li><a href="../SQLConstructor/BasicInsert_mysql.html">SQLConstructor::BasicInsert_mysql</a></li>
130
+
131
+ <li><a href="../SQLConstructor/BasicJoin.html">SQLConstructor::BasicJoin</a></li>
132
+
133
+ <li><a href="../SQLConstructor/BasicJoin_mysql.html">SQLConstructor::BasicJoin_mysql</a></li>
134
+
135
+ <li><a href="../SQLConstructor/BasicSelect.html">SQLConstructor::BasicSelect</a></li>
136
+
137
+ <li><a href="../SQLConstructor/BasicSelect_example.html">SQLConstructor::BasicSelect_example</a></li>
138
+
139
+ <li><a href="../SQLConstructor/BasicSelect_mysql.html">SQLConstructor::BasicSelect_mysql</a></li>
140
+
141
+ <li><a href="../SQLConstructor/BasicUnion.html">SQLConstructor::BasicUnion</a></li>
142
+
143
+ <li><a href="../SQLConstructor/BasicUpdate.html">SQLConstructor::BasicUpdate</a></li>
144
+
145
+ <li><a href="../SQLConstructor/BasicUpdate_mysql.html">SQLConstructor::BasicUpdate_mysql</a></li>
146
+
147
+ <li><a href="../SQLConstructor/GenericQuery.html">SQLConstructor::GenericQuery</a></li>
148
+
149
+ <li><a href="../SQLConstructor/QAttr.html">SQLConstructor::QAttr</a></li>
150
+
151
+ <li><a href="../SQLExporter.html">SQLExporter</a></li>
152
+
153
+ <li><a href="../SQLExporter/Exporter_generic.html">SQLExporter::Exporter_generic</a></li>
154
+
155
+ <li><a href="../SQLExporter/Exporter_mysql.html">SQLExporter::Exporter_mysql</a></li>
156
+
157
+ <li><a href="../SQLConditional.html">SQLConditional</a></li>
158
+
159
+ <li><a href="../SQLConditional/BasicCond.html">SQLConditional::BasicCond</a></li>
160
+
161
+ <li><a href="../Object.html">Object</a></li>
162
+
163
+ <li><a href="../SQLAliasedList.html">SQLAliasedList</a></li>
164
+
165
+ <li><a href="../SQLColumn.html">SQLColumn</a></li>
166
+
167
+ <li><a href="../SQLCondList.html">SQLCondList</a></li>
168
+
169
+ <li><a href="../SQLConstructorTest.html">SQLConstructorTest</a></li>
170
+
171
+ <li><a href="../SQLObject.html">SQLObject</a></li>
172
+
173
+ <li><a href="../SQLValList.html">SQLValList</a></li>
174
+
175
+ <li><a href="../SQLValue.html">SQLValue</a></li>
176
+
177
+ </ul>
178
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
179
+ </div>
180
+
181
+
182
+ </div>
183
+ </div>
184
+
185
+ <div id="documentation">
186
+ <h1 class="class">SQLConstructor::GenericQuery</h1>
187
+
188
+ <div id="description" class="description">
189
+
190
+ <p>Internal class - generic query attributes and methods. Should be parent to
191
+ all Basic* classes.</p>
192
+
193
+ </div><!-- description -->
194
+
195
+
196
+
197
+
198
+ <div id="5Buntitled-5D" class="documentation-section">
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+ <!-- Attributes -->
207
+ <div id="attribute-method-details" class="method-section section">
208
+ <h3 class="section-header">Attributes</h3>
209
+
210
+
211
+ <div id="attr_index_hints-attribute-method" class="method-detail">
212
+ <a name="attr_index_hints"></a>
213
+
214
+ <div class="method-heading attribute-method-heading">
215
+ <span class="method-name">attr_index_hints</span><span
216
+ class="attribute-access-type">[R]</span>
217
+ </div>
218
+
219
+ <div class="method-description">
220
+
221
+
222
+
223
+ </div>
224
+ </div>
225
+
226
+ <div id="caller-attribute-method" class="method-detail">
227
+ <a name="caller"></a>
228
+
229
+ <a name="caller="></a>
230
+
231
+ <div class="method-heading attribute-method-heading">
232
+ <span class="method-name">caller</span><span
233
+ class="attribute-access-type">[RW]</span>
234
+ </div>
235
+
236
+ <div class="method-description">
237
+
238
+
239
+
240
+ </div>
241
+ </div>
242
+
243
+ <div id="child_caller-attribute-method" class="method-detail">
244
+ <a name="child_caller"></a>
245
+
246
+ <div class="method-heading attribute-method-heading">
247
+ <span class="method-name">child_caller</span><span
248
+ class="attribute-access-type">[R]</span>
249
+ </div>
250
+
251
+ <div class="method-description">
252
+
253
+
254
+
255
+ </div>
256
+ </div>
257
+
258
+ <div id="dialect-attribute-method" class="method-detail">
259
+ <a name="dialect"></a>
260
+
261
+ <div class="method-heading attribute-method-heading">
262
+ <span class="method-name">dialect</span><span
263
+ class="attribute-access-type">[R]</span>
264
+ </div>
265
+
266
+ <div class="method-description">
267
+
268
+
269
+
270
+ </div>
271
+ </div>
272
+
273
+ <div id="exporter-attribute-method" class="method-detail">
274
+ <a name="exporter"></a>
275
+
276
+ <div class="method-heading attribute-method-heading">
277
+ <span class="method-name">exporter</span><span
278
+ class="attribute-access-type">[R]</span>
279
+ </div>
280
+
281
+ <div class="method-description">
282
+
283
+
284
+
285
+ </div>
286
+ </div>
287
+
288
+ <div id="string-attribute-method" class="method-detail">
289
+ <a name="string"></a>
290
+
291
+ <a name="string="></a>
292
+
293
+ <div class="method-heading attribute-method-heading">
294
+ <span class="method-name">string</span><span
295
+ class="attribute-access-type">[RW]</span>
296
+ </div>
297
+
298
+ <div class="method-description">
299
+
300
+
301
+
302
+ </div>
303
+ </div>
304
+
305
+ <div id="tidy-attribute-method" class="method-detail">
306
+ <a name="tidy"></a>
307
+
308
+ <div class="method-heading attribute-method-heading">
309
+ <span class="method-name">tidy</span><span
310
+ class="attribute-access-type">[R]</span>
311
+ </div>
312
+
313
+ <div class="method-description">
314
+
315
+
316
+
317
+ </div>
318
+ </div>
319
+
320
+ <div id="type-attribute-method" class="method-detail">
321
+ <a name="type"></a>
322
+
323
+ <div class="method-heading attribute-method-heading">
324
+ <span class="method-name">type</span><span
325
+ class="attribute-access-type">[R]</span>
326
+ </div>
327
+
328
+ <div class="method-description">
329
+
330
+
331
+
332
+ </div>
333
+ </div>
334
+
335
+ </div><!-- attribute-method-details -->
336
+
337
+
338
+ <!-- Methods -->
339
+
340
+ <div id="public-class-method-details" class="method-section section">
341
+ <h3 class="section-header">Public Class Methods</h3>
342
+
343
+
344
+ <div id="new-method" class="method-detail ">
345
+ <a name="method-c-new"></a>
346
+
347
+
348
+ <div class="method-heading">
349
+ <span class="method-name">new</span><span
350
+ class="method-args">( _caller )</span>
351
+ <span class="method-click-advice">click to toggle source</span>
352
+ </div>
353
+
354
+
355
+ <div class="method-description">
356
+
357
+ <p>Class constructor. _caller - the caller object</p>
358
+
359
+
360
+
361
+ <div class="method-source-code" id="new-source">
362
+ <pre>
363
+ <span class="ruby-comment"># File lib/sqlconstructor.rb, line 242</span>
364
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span> ( <span class="ruby-identifier">_caller</span> )
365
+ <span class="ruby-ivar">@caller</span> = <span class="ruby-identifier">_caller</span>
366
+ <span class="ruby-ivar">@dialect</span> = <span class="ruby-ivar">@caller</span>.<span class="ruby-identifier">dialect</span>
367
+ <span class="ruby-ivar">@tidy</span> = <span class="ruby-ivar">@caller</span>.<span class="ruby-identifier">tidy</span>
368
+ <span class="ruby-ivar">@exporter</span> = <span class="ruby-identifier">_caller</span>.<span class="ruby-identifier">exporter</span>
369
+ <span class="ruby-ivar">@inline</span> = <span class="ruby-ivar">@caller</span>.<span class="ruby-identifier">inline</span>
370
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">_setMethods</span>
371
+ <span class="ruby-keyword">end</span></pre>
372
+ </div><!-- new-source -->
373
+
374
+ </div>
375
+
376
+
377
+
378
+
379
+ </div><!-- new-method -->
380
+
381
+
382
+ </div><!-- public-class-method-details -->
383
+
384
+ <div id="public-instance-method-details" class="method-section section">
385
+ <h3 class="section-header">Public Instance Methods</h3>
386
+
387
+
388
+ <div id="_get-method" class="method-detail ">
389
+ <a name="method-i-_get"></a>
390
+
391
+
392
+ <div class="method-heading">
393
+ <span class="method-name">_get</span><span
394
+ class="method-args">( clause, *args )</span>
395
+ <span class="method-click-advice">click to toggle source</span>
396
+ </div>
397
+
398
+
399
+ <div class="method-description">
400
+
401
+ <p>Returns an object by clause (keys of child class’ METHODS attribute) or by
402
+ <a href="../SQLObject.html#attribute-i-name">SQLObject.name</a></p>
403
+
404
+
405
+
406
+ <div class="method-source-code" id="_get-source">
407
+ <pre>
408
+ <span class="ruby-comment"># File lib/sqlconstructor.rb, line 255</span>
409
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">_get</span> ( <span class="ruby-identifier">clause</span>, *<span class="ruby-identifier">args</span> )
410
+ <span class="ruby-identifier">result</span> = <span class="ruby-keyword">nil</span>
411
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@methods</span>.<span class="ruby-identifier">has_key?</span> <span class="ruby-identifier">clause</span>
412
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">args</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>
413
+ <span class="ruby-identifier">result</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span> <span class="ruby-ivar">@methods</span>[<span class="ruby-identifier">clause</span>].<span class="ruby-identifier">name</span>
414
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">result</span>.<span class="ruby-identifier">val</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">QAttr</span>
415
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">&amp;&amp;</span> [ <span class="ruby-constant">Array</span>, <span class="ruby-constant">SQLValList</span>, <span class="ruby-constant">SQLAliasedList</span>, <span class="ruby-constant">SQLCondList</span> ].<span class="ruby-identifier">include?</span>( <span class="ruby-identifier">result</span>.<span class="ruby-identifier">class</span> )
416
+ <span class="ruby-comment"># return the first object if multiple objects have the same name</span>
417
+ <span class="ruby-identifier">result</span> = <span class="ruby-identifier">result</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">obj</span><span class="ruby-operator">|</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span> }
418
+ <span class="ruby-keyword">end</span>
419
+ <span class="ruby-keyword">end</span>
420
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">result</span>
421
+ <span class="ruby-keyword">end</span></pre>
422
+ </div><!-- _get-source -->
423
+
424
+ </div>
425
+
426
+
427
+
428
+
429
+ </div><!-- _get-method -->
430
+
431
+
432
+ <div id="_remove-method" class="method-detail ">
433
+ <a name="method-i-_remove"></a>
434
+
435
+
436
+ <div class="method-heading">
437
+ <span class="method-name">_remove</span><span
438
+ class="method-args">( clause, *args )</span>
439
+ <span class="method-click-advice">click to toggle source</span>
440
+ </div>
441
+
442
+
443
+ <div class="method-description">
444
+
445
+ <p>NILs attribute by clause name (specified in the child class’ METHODS
446
+ attribure), or removes an named item from a list attribute. This method
447
+ must be overriden in child classes if any methods were defined explicitly
448
+ (not in METHODS).</p>
449
+
450
+
451
+
452
+ <div class="method-source-code" id="_remove-source">
453
+ <pre>
454
+ <span class="ruby-comment"># File lib/sqlconstructor.rb, line 275</span>
455
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">_remove</span> ( <span class="ruby-identifier">clause</span>, *<span class="ruby-identifier">args</span> )
456
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@methods</span>.<span class="ruby-identifier">has_key?</span> <span class="ruby-identifier">clause</span>
457
+ <span class="ruby-identifier">_attr</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span> <span class="ruby-ivar">@methods</span>[<span class="ruby-identifier">clause</span>].<span class="ruby-identifier">name</span>
458
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">args</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">:</span> <span class="ruby-keyword">nil</span>
459
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">&amp;&amp;</span> [ <span class="ruby-constant">Array</span>, <span class="ruby-constant">SQLValList</span>, <span class="ruby-constant">SQLAliasedList</span>, <span class="ruby-constant">SQLCondList</span> ].<span class="ruby-identifier">include?</span>( <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">class</span> )
460
+ <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">obj</span><span class="ruby-operator">|</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span> }
461
+ <span class="ruby-keyword">else</span>
462
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span> <span class="ruby-node">&quot;#{@methods[clause].name}=&quot;</span>, <span class="ruby-keyword">nil</span>
463
+ <span class="ruby-keyword">end</span>
464
+ <span class="ruby-ivar">@string</span> = <span class="ruby-keyword">nil</span>
465
+ <span class="ruby-keyword">end</span>
466
+ <span class="ruby-keyword">return</span> <span class="ruby-keyword">self</span>
467
+ <span class="ruby-keyword">end</span></pre>
468
+ </div><!-- _remove-source -->
469
+
470
+ </div>
471
+
472
+
473
+
474
+
475
+ </div><!-- _remove-method -->
476
+
477
+
478
+ <div id="method_missing-method" class="method-detail ">
479
+ <a name="method-i-method_missing"></a>
480
+
481
+
482
+ <div class="method-heading">
483
+ <span class="method-name">method_missing</span><span
484
+ class="method-args">( method, *args )</span>
485
+ <span class="method-click-advice">click to toggle source</span>
486
+ </div>
487
+
488
+
489
+ <div class="method-description">
490
+
491
+ <p>Process method calls described in the child’s METHODS attribute. If no
492
+ corresponding entries are found in all object’s parent classes, then send
493
+ missing methods calls to the @caller object.</p>
494
+
495
+
496
+
497
+ <div class="method-source-code" id="method_missing-source">
498
+ <pre>
499
+ <span class="ruby-comment"># File lib/sqlconstructor.rb, line 303</span>
500
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">method_missing</span> ( <span class="ruby-identifier">method</span>, *<span class="ruby-identifier">args</span> )
501
+ <span class="ruby-comment"># If the method is described in the class' METHODS constant, then</span>
502
+ <span class="ruby-comment"># create an attribute with the proper name, an attr_accessor</span>
503
+ <span class="ruby-comment"># for it, and set it's value to the one in METHODS.</span>
504
+ <span class="ruby-keyword">if</span> <span class="ruby-ivar">@methods</span>.<span class="ruby-identifier">has_key?</span> <span class="ruby-identifier">method</span>
505
+ <span class="ruby-identifier">_attr</span> = <span class="ruby-ivar">@methods</span>[<span class="ruby-identifier">method</span>].<span class="ruby-identifier">dup</span>
506
+ <span class="ruby-identifier">attr_name</span> = <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">name</span>
507
+ <span class="ruby-identifier">val_obj</span> = <span class="ruby-keyword">nil</span>
508
+
509
+ <span class="ruby-comment"># get the current value of the attribute {_attr.name}</span>
510
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">send</span> <span class="ruby-value">:attr_accessor</span>, <span class="ruby-identifier">attr_name</span>.<span class="ruby-identifier">to_sym</span>
511
+ <span class="ruby-identifier">cur_attr</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span> <span class="ruby-identifier">attr_name</span>.<span class="ruby-identifier">to_sym</span>
512
+ <span class="ruby-identifier">cur_attr_val</span> = <span class="ruby-identifier">cur_attr</span>.<span class="ruby-identifier">is_a?</span>( <span class="ruby-constant">QAttr</span> ) <span class="ruby-operator">?</span> <span class="ruby-identifier">cur_attr</span>.<span class="ruby-identifier">val</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">cur_attr</span>
513
+
514
+ <span class="ruby-comment"># Create an instance of the corresponding class if _attr.val is </span>
515
+ <span class="ruby-comment"># on of SQLObject container classes:</span>
516
+ <span class="ruby-keyword">if</span> [ <span class="ruby-constant">SQLValList</span>, <span class="ruby-constant">SQLAliasedList</span>, <span class="ruby-constant">SQLCondList</span> ].<span class="ruby-identifier">include?</span> <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span>
517
+ <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span> = <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span>.<span class="ruby-identifier">new</span> *<span class="ruby-identifier">args</span>
518
+
519
+ <span class="ruby-comment"># Create an array of SQLObjects if _attr.val is SQLObject class:</span>
520
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span> <span class="ruby-operator">==</span> <span class="ruby-constant">SQLObject</span>
521
+ <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span> = <span class="ruby-constant">SQLObject</span>.<span class="ruby-identifier">get</span> *<span class="ruby-identifier">args</span> <span class="ruby-comment">#args.map{ |arg| SQLObject.get arg }</span>
522
+
523
+ <span class="ruby-comment"># Create an instance of the corresponding class if _attr.val is </span>
524
+ <span class="ruby-comment"># SQLConstructor or SQLConditional class:</span>
525
+ <span class="ruby-keyword">elsif</span> [ <span class="ruby-constant">SQLConstructor</span>, <span class="ruby-constant">SQLConditional</span> ].<span class="ruby-identifier">include?</span> <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span>
526
+ <span class="ruby-identifier">val_obj</span> = <span class="ruby-identifier">cur_attr_val</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span>.<span class="ruby-identifier">new</span>(
527
+ <span class="ruby-value">:dialect</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@dialect</span>,
528
+ <span class="ruby-value">:tidy</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@tidy</span>,
529
+ <span class="ruby-value">:exporter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@exporter</span>,
530
+ <span class="ruby-value">:caller</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword">self</span>
531
+ )
532
+ <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span> = <span class="ruby-identifier">val_obj</span>
533
+
534
+ <span class="ruby-comment"># create a BasicSelect dialect-specific child class: </span>
535
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span> <span class="ruby-operator">==</span> <span class="ruby-constant">BasicSelect</span>
536
+ <span class="ruby-identifier">val_obj</span> = <span class="ruby-constant">SQLConstructor</span>.<span class="ruby-identifier">new</span>(
537
+ <span class="ruby-value">:dialect</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@dialect</span>,
538
+ <span class="ruby-value">:tidy</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@tidy</span>,
539
+ <span class="ruby-value">:exporter</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@exporter</span>
540
+ ).<span class="ruby-identifier">select</span>( *<span class="ruby-identifier">args</span> )
541
+ <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span> = <span class="ruby-identifier">val_obj</span>
542
+
543
+ <span class="ruby-comment"># If the :val parameter is some different class, then we should </span>
544
+ <span class="ruby-comment"># create an instance of it or return the existing value:</span>
545
+ <span class="ruby-keyword">elsif</span> <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span>.<span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">include?</span>( <span class="ruby-constant">GenericQuery</span> )
546
+ <span class="ruby-identifier">val_obj</span> = <span class="ruby-identifier">_getBasicClass</span>( <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span>, <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">text</span> )
547
+ <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span> = <span class="ruby-identifier">val_obj</span>
548
+ <span class="ruby-keyword">end</span>
549
+
550
+ <span class="ruby-comment"># If the object already has attribute {_attr.name} defined and it's</span>
551
+ <span class="ruby-comment"># an array or one of the SQL* class containers,then we should rather </span>
552
+ <span class="ruby-comment"># append to it than reassign the value.</span>
553
+ <span class="ruby-comment"># If :attr_val=list, then create a new SQLAliasedList container.</span>
554
+ <span class="ruby-keyword">if</span> [ <span class="ruby-constant">Array</span>, <span class="ruby-constant">SQLValList</span>, <span class="ruby-constant">SQLAliasedList</span>, <span class="ruby-constant">SQLCondList</span> ].<span class="ruby-identifier">include?</span>( <span class="ruby-identifier">cur_attr_val</span>.<span class="ruby-identifier">class</span> ) <span class="ruby-operator">||</span>
555
+ <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val_type</span> <span class="ruby-operator">==</span> <span class="ruby-string">'list'</span>
556
+ <span class="ruby-identifier">cur_attr_val</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">SQLAliasedList</span>.<span class="ruby-identifier">new</span>
557
+ <span class="ruby-identifier">cur_attr_val</span>.<span class="ruby-identifier">no_commas</span> = <span class="ruby-keyword">true</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">no_commas</span>
558
+ <span class="ruby-identifier">cur_attr_val</span>.<span class="ruby-identifier">push</span> <span class="ruby-identifier">_attr</span>.<span class="ruby-identifier">val</span>
559
+ <span class="ruby-identifier">_attr</span> = <span class="ruby-identifier">cur_attr_val</span>
560
+ <span class="ruby-keyword">end</span>
561
+
562
+ <span class="ruby-comment"># self.class.send :attr_accessor, attr_name.to_sym if ! cur_attr_val</span>
563
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">send</span> <span class="ruby-node">&quot;#{attr_name}=&quot;</span>, <span class="ruby-identifier">_attr</span>
564
+
565
+ <span class="ruby-ivar">@string</span> = <span class="ruby-keyword">nil</span>
566
+ <span class="ruby-keyword">return</span> ( <span class="ruby-identifier">val_obj</span> <span class="ruby-operator">||</span> <span class="ruby-keyword">self</span> )
567
+ <span class="ruby-keyword">end</span>
568
+
569
+ <span class="ruby-comment"># Otherwise send the call to @caller object</span>
570
+ <span class="ruby-ivar">@child_caller</span> = <span class="ruby-keyword">self</span>
571
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@caller</span>.<span class="ruby-identifier">send</span>( <span class="ruby-identifier">method</span>.<span class="ruby-identifier">to_sym</span>, *<span class="ruby-identifier">args</span> ) <span class="ruby-keyword">if</span> <span class="ruby-ivar">@caller</span>
572
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoMethodError</span>, <span class="ruby-constant">ERR_UNKNOWN_METHOD</span> <span class="ruby-operator">+</span> <span class="ruby-string">&quot;: &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">method</span>.<span class="ruby-identifier">to_s</span>
573
+ <span class="ruby-keyword">end</span></pre>
574
+ </div><!-- method_missing-source -->
575
+
576
+ </div>
577
+
578
+
579
+
580
+
581
+ </div><!-- method_missing-method -->
582
+
583
+
584
+ <div id="to_s-method" class="method-detail ">
585
+ <a name="method-i-to_s"></a>
586
+
587
+
588
+ <div class="method-heading">
589
+ <span class="method-name">to_s</span><span
590
+ class="method-args">()</span>
591
+ <span class="method-click-advice">click to toggle source</span>
592
+ </div>
593
+
594
+
595
+ <div class="method-description">
596
+
597
+ <p>Convert object to string by calling the .export() method of the @exporter
598
+ object.</p>
599
+
600
+
601
+
602
+ <div class="method-source-code" id="to_s-source">
603
+ <pre>
604
+ <span class="ruby-comment"># File lib/sqlconstructor.rb, line 293</span>
605
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">to_s</span>
606
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@string</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@string</span>
607
+ <span class="ruby-ivar">@string</span> = <span class="ruby-ivar">@exporter</span>.<span class="ruby-identifier">export</span> <span class="ruby-keyword">self</span>
608
+ <span class="ruby-keyword">end</span></pre>
609
+ </div><!-- to_s-source -->
610
+
611
+ </div>
612
+
613
+
614
+ <div class="aliases">
615
+ Also aliased as: <a href="GenericQuery.html#method-i-to_str">to_str</a>
616
+ </div>
617
+
618
+
619
+
620
+ </div><!-- to_s-method -->
621
+
622
+
623
+ <div id="to_str-method" class="method-detail method-alias">
624
+ <a name="method-i-to_str"></a>
625
+
626
+
627
+ <div class="method-heading">
628
+ <span class="method-name">to_str</span><span
629
+ class="method-args">()</span>
630
+ <span class="method-click-advice">click to toggle source</span>
631
+ </div>
632
+
633
+
634
+ <div class="method-description">
635
+
636
+ <p>Dirty hack to make .join work on an array of GenericQueries</p>
637
+
638
+
639
+
640
+ </div>
641
+
642
+
643
+
644
+
645
+ <div class="aliases">
646
+ Alias for: <a href="GenericQuery.html#method-i-to_s">to_s</a>
647
+ </div>
648
+
649
+ </div><!-- to_str-method -->
650
+
651
+
652
+ </div><!-- public-instance-method-details -->
653
+
654
+ <div id="protected-instance-method-details" class="method-section section">
655
+ <h3 class="section-header">Protected Instance Methods</h3>
656
+
657
+
658
+ <div id="_addJoin-method" class="method-detail ">
659
+ <a name="method-i-_addJoin"></a>
660
+
661
+
662
+ <div class="method-heading">
663
+ <span class="method-name">_addJoin</span><span
664
+ class="method-args">( type, *tables )</span>
665
+ <span class="method-click-advice">click to toggle source</span>
666
+ </div>
667
+
668
+
669
+ <div class="method-description">
670
+
671
+ <p>Creates a new <a href="BasicJoin.html">BasicJoin</a> object for the JOIN
672
+ statement.</p>
673
+
674
+
675
+
676
+ <div class="method-source-code" id="_addJoin-source">
677
+ <pre>
678
+ <span class="ruby-comment"># File lib/sqlconstructor.rb, line 385</span>
679
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">_addJoin</span> ( <span class="ruby-identifier">type</span>, *<span class="ruby-identifier">tables</span> )
680
+ <span class="ruby-ivar">@string</span> = <span class="ruby-keyword">nil</span>
681
+ <span class="ruby-identifier">join</span> = <span class="ruby-identifier">_getBasicClass</span> <span class="ruby-constant">BasicJoin</span>, <span class="ruby-identifier">type</span>, *<span class="ruby-identifier">tables</span>
682
+ <span class="ruby-ivar">@attr_joins</span> <span class="ruby-operator">||=</span> [ ]
683
+ <span class="ruby-ivar">@attr_joins</span>.<span class="ruby-identifier">push</span> <span class="ruby-identifier">join</span>
684
+ <span class="ruby-keyword">return</span> <span class="ruby-identifier">join</span>
685
+ <span class="ruby-keyword">end</span></pre>
686
+ </div><!-- _addJoin-source -->
687
+
688
+ </div>
689
+
690
+
691
+
692
+
693
+ </div><!-- _addJoin-method -->
694
+
695
+
696
+ <div id="_getBasicClass-method" class="method-detail ">
697
+ <a name="method-i-_getBasicClass"></a>
698
+
699
+
700
+ <div class="method-heading">
701
+ <span class="method-name">_getBasicClass</span><span
702
+ class="method-args">( class_basic, *args )</span>
703
+ <span class="method-click-advice">click to toggle source</span>
704
+ </div>
705
+
706
+
707
+ <div class="method-description">
708
+
709
+ <p>Returns an instance of Basic* child dialect-specific class</p>
710
+
711
+
712
+
713
+ <div class="method-source-code" id="_getBasicClass-source">
714
+ <pre>
715
+ <span class="ruby-comment"># File lib/sqlconstructor.rb, line 396</span>
716
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">_getBasicClass</span> ( <span class="ruby-identifier">class_basic</span>, *<span class="ruby-identifier">args</span> )
717
+ <span class="ruby-identifier">class_basic_name</span> = <span class="ruby-identifier">class_basic</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">sub</span> <span class="ruby-regexp">/^(?:\w+::)*/</span>, <span class="ruby-string">''</span>
718
+ <span class="ruby-identifier">class_child</span> = <span class="ruby-identifier">class_basic_name</span> <span class="ruby-operator">+</span> <span class="ruby-string">'_'</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@dialect</span>
719
+ <span class="ruby-keyword">if</span> <span class="ruby-constant">SQLConstructor</span>.<span class="ruby-identifier">const_defined?</span> <span class="ruby-identifier">class_child</span>.<span class="ruby-identifier">to_sym</span>
720
+ <span class="ruby-constant">SQLConstructor</span>.<span class="ruby-identifier">const_get</span>( <span class="ruby-identifier">class_child</span>.<span class="ruby-identifier">to_sym</span> ).<span class="ruby-identifier">new</span> <span class="ruby-keyword">self</span>, *<span class="ruby-identifier">args</span>
721
+ <span class="ruby-keyword">else</span>
722
+ <span class="ruby-constant">SQLConstructor</span>.<span class="ruby-identifier">const_get</span>( <span class="ruby-identifier">class_basic_name</span>.<span class="ruby-identifier">to_sym</span> ).<span class="ruby-identifier">new</span> <span class="ruby-keyword">self</span>, *<span class="ruby-identifier">args</span>
723
+ <span class="ruby-keyword">end</span>
724
+ <span class="ruby-keyword">end</span></pre>
725
+ </div><!-- _getBasicClass-source -->
726
+
727
+ </div>
728
+
729
+
730
+
731
+
732
+ </div><!-- _getBasicClass-method -->
733
+
734
+
735
+ <div id="_setMethods-method" class="method-detail ">
736
+ <a name="method-i-_setMethods"></a>
737
+
738
+
739
+ <div class="method-heading">
740
+ <span class="method-name">_setMethods</span><span
741
+ class="method-args">()</span>
742
+ <span class="method-click-advice">click to toggle source</span>
743
+ </div>
744
+
745
+
746
+ <div class="method-description">
747
+
748
+ <p>Returns the METHODS hash of child dialect-specific class merged with
749
+ parent’s METHODS hash.</p>
750
+
751
+
752
+
753
+ <div class="method-source-code" id="_setMethods-source">
754
+ <pre>
755
+ <span class="ruby-comment"># File lib/sqlconstructor.rb, line 410</span>
756
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">_setMethods</span>
757
+ <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-ivar">@methods</span>
758
+ <span class="ruby-identifier">methods_self</span> = { }
759
+ <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">_class</span><span class="ruby-operator">|</span>
760
+ <span class="ruby-keyword">next</span> <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">_class</span>.<span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">include?</span> <span class="ruby-constant">SQLConstructor</span><span class="ruby-operator">::</span><span class="ruby-constant">GenericQuery</span>
761
+ <span class="ruby-keyword">begin</span>
762
+ <span class="ruby-identifier">class_methods</span> = <span class="ruby-identifier">_class</span>.<span class="ruby-identifier">const_get</span> <span class="ruby-value">:METHODS</span> <span class="ruby-operator">||</span> { }
763
+ <span class="ruby-keyword">rescue</span>
764
+ <span class="ruby-identifier">class_methods</span> = { }
765
+ <span class="ruby-keyword">end</span>
766
+ <span class="ruby-identifier">methods_self</span>.<span class="ruby-identifier">merge!</span> <span class="ruby-identifier">class_methods</span>
767
+ <span class="ruby-keyword">end</span>
768
+ <span class="ruby-ivar">@methods</span> = <span class="ruby-identifier">methods_self</span>
769
+ <span class="ruby-keyword">end</span>
770
+ <span class="ruby-keyword">return</span> <span class="ruby-ivar">@methods</span>
771
+ <span class="ruby-keyword">end</span></pre>
772
+ </div><!-- _setMethods-source -->
773
+
774
+ </div>
775
+
776
+
777
+
778
+
779
+ </div><!-- _setMethods-method -->
780
+
781
+
782
+ </div><!-- protected-instance-method-details -->
783
+
784
+ </div><!-- 5Buntitled-5D -->
785
+
786
+
787
+ </div><!-- documentation -->
788
+
789
+ <div id="validator-badges">
790
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
791
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
792
+ Rdoc Generator</a> 2</small>.</p>
793
+ </div>
794
+
795
+ </body>
796
+ </html>
797
+