rails-pg-procs 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. data/.document +5 -0
  2. data/.gitignore +5 -0
  3. data/LICENSE +20 -0
  4. data/README +15 -0
  5. data/README.rdoc +18 -0
  6. data/Rakefile +60 -0
  7. data/VERSION +1 -0
  8. data/docs/classes/ActiveRecord.html +117 -0
  9. data/docs/classes/ActiveRecord/ConnectionAdapters.html +113 -0
  10. data/docs/classes/ActiveRecord/ConnectionAdapters/PostgreSQLAdapter.html +589 -0
  11. data/docs/classes/ActiveRecord/ConnectionAdapters/ProcedureDefinition.html +110 -0
  12. data/docs/classes/ActiveRecord/ConnectionAdapters/TriggerDefinition.html +519 -0
  13. data/docs/classes/ActiveRecord/ConnectionAdapters/TypeDefinition.html +110 -0
  14. data/docs/classes/ActiveRecord/SchemaDumper.html +371 -0
  15. data/docs/classes/Inflector.html +164 -0
  16. data/docs/classes/SchemaProcs.html +211 -0
  17. data/docs/classes/SqlFormat.html +139 -0
  18. data/docs/classes/String.html +117 -0
  19. data/docs/classes/Symbol.html +117 -0
  20. data/docs/created.rid +1 -0
  21. data/docs/fr_class_index.html +36 -0
  22. data/docs/fr_method_index.html +63 -0
  23. data/docs/index.html +22 -0
  24. data/docs/rdoc-style.css +208 -0
  25. data/init.rb +3 -0
  26. data/install.rb +1 -0
  27. data/lib/connection_adapters/aggregagtes_definition.rb +1 -0
  28. data/lib/connection_adapters/connection_adapters.rb +8 -0
  29. data/lib/connection_adapters/index_definition.rb +24 -0
  30. data/lib/connection_adapters/postgresql_adapter.rb +256 -0
  31. data/lib/connection_adapters/procedure_definition.rb +6 -0
  32. data/lib/connection_adapters/schema_definition.rb +24 -0
  33. data/lib/connection_adapters/schema_statements.rb +11 -0
  34. data/lib/connection_adapters/trigger_definition.rb +114 -0
  35. data/lib/connection_adapters/type_definition.rb +17 -0
  36. data/lib/connection_adapters/view_definition.rb +34 -0
  37. data/lib/inflector.rb +10 -0
  38. data/lib/rails_pg_procs.rb +8 -0
  39. data/lib/schema_dumper.rb +96 -0
  40. data/lib/schema_procs.rb +19 -0
  41. data/lib/sql_format.rb +17 -0
  42. data/tasks/rails_pg_procs.rake +4 -0
  43. data/test/connection.rb +16 -0
  44. data/test/procedure_test.rb +78 -0
  45. data/test/rails_pg_procs_test.rb +246 -0
  46. data/test/test_helper.rb +41 -0
  47. data/test/trigger_test.rb +87 -0
  48. data/test/type_test.rb +46 -0
  49. data/test/view_test.rb +36 -0
  50. data/uninstall.rb +1 -0
  51. metadata +112 -0
@@ -0,0 +1,110 @@
1
+ <!DOCTYPE html
2
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
+ <head>
7
+ <title>Class: ActiveRecord::ConnectionAdapters::ProcedureDefinition</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ <script type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function popupCode( url ) {
15
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
16
+ }
17
+
18
+ function toggleCode( id ) {
19
+ if ( document.getElementById )
20
+ elem = document.getElementById( id );
21
+ else if ( document.all )
22
+ elem = eval( "document.all." + id );
23
+ else
24
+ return false;
25
+
26
+ elemStyle = elem.style;
27
+
28
+ if ( elemStyle.display != "block" ) {
29
+ elemStyle.display = "block"
30
+ } else {
31
+ elemStyle.display = "none"
32
+ }
33
+
34
+ return true;
35
+ }
36
+
37
+ // Make codeblocks hidden by default
38
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
39
+
40
+ // ]]>
41
+ </script>
42
+
43
+ </head>
44
+ <body>
45
+
46
+
47
+
48
+ <div id="classHeader">
49
+ <table class="header-table">
50
+ <tr class="top-aligned-row">
51
+ <td><strong>Class</strong></td>
52
+ <td class="class-name-in-header">ActiveRecord::ConnectionAdapters::ProcedureDefinition</td>
53
+ </tr>
54
+ <tr class="top-aligned-row">
55
+ <td><strong>In:</strong></td>
56
+ <td>
57
+ <a href="../../../files/lib/rails_pg_procs_rb.html">
58
+ lib/rails_pg_procs.rb
59
+ </a>
60
+ <br />
61
+ </td>
62
+ </tr>
63
+
64
+ <tr class="top-aligned-row">
65
+ <td><strong>Parent:</strong></td>
66
+ <td>
67
+ Struct.new(:id, :name)
68
+ </td>
69
+ </tr>
70
+ </table>
71
+ </div>
72
+ <!-- banner header -->
73
+
74
+ <div id="bodyContent">
75
+
76
+
77
+
78
+ <div id="contextContent">
79
+
80
+
81
+
82
+ </div>
83
+
84
+
85
+ </div>
86
+
87
+
88
+ <!-- if includes -->
89
+
90
+ <div id="section">
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ <!-- if method_list -->
100
+
101
+
102
+ </div>
103
+
104
+
105
+ <div id="validator-badges">
106
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
107
+ </div>
108
+
109
+ </body>
110
+ </html>
@@ -0,0 +1,519 @@
1
+ <!DOCTYPE html
2
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
+
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
+ <head>
7
+ <title>Class: ActiveRecord::ConnectionAdapters::TriggerDefinition</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
10
+ <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
+ <script type="text/javascript">
12
+ // <![CDATA[
13
+
14
+ function popupCode( url ) {
15
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
16
+ }
17
+
18
+ function toggleCode( id ) {
19
+ if ( document.getElementById )
20
+ elem = document.getElementById( id );
21
+ else if ( document.all )
22
+ elem = eval( "document.all." + id );
23
+ else
24
+ return false;
25
+
26
+ elemStyle = elem.style;
27
+
28
+ if ( elemStyle.display != "block" ) {
29
+ elemStyle.display = "block"
30
+ } else {
31
+ elemStyle.display = "none"
32
+ }
33
+
34
+ return true;
35
+ }
36
+
37
+ // Make codeblocks hidden by default
38
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
39
+
40
+ // ]]>
41
+ </script>
42
+
43
+ </head>
44
+ <body>
45
+
46
+
47
+
48
+ <div id="classHeader">
49
+ <table class="header-table">
50
+ <tr class="top-aligned-row">
51
+ <td><strong>Class</strong></td>
52
+ <td class="class-name-in-header">ActiveRecord::ConnectionAdapters::TriggerDefinition</td>
53
+ </tr>
54
+ <tr class="top-aligned-row">
55
+ <td><strong>In:</strong></td>
56
+ <td>
57
+ <a href="../../../files/lib/rails_pg_procs_rb.html">
58
+ lib/rails_pg_procs.rb
59
+ </a>
60
+ <br />
61
+ </td>
62
+ </tr>
63
+
64
+ <tr class="top-aligned-row">
65
+ <td><strong>Parent:</strong></td>
66
+ <td>
67
+ Object
68
+ </td>
69
+ </tr>
70
+ </table>
71
+ </div>
72
+ <!-- banner header -->
73
+
74
+ <div id="bodyContent">
75
+
76
+
77
+
78
+ <div id="contextContent">
79
+
80
+
81
+
82
+ </div>
83
+
84
+ <div id="method-list">
85
+ <h3 class="section-bar">Methods</h3>
86
+
87
+ <div class="name-list">
88
+ <a href="#M000006">before?</a>&nbsp;&nbsp;
89
+ <a href="#M000011">bin_typ</a>&nbsp;&nbsp;
90
+ <a href="#M000003">binary_type=</a>&nbsp;&nbsp;
91
+ <a href="#M000010">calc</a>&nbsp;&nbsp;
92
+ <a href="#M000009">events</a>&nbsp;&nbsp;
93
+ <a href="#M000001">new</a>&nbsp;&nbsp;
94
+ <a href="#M000007">row?</a>&nbsp;&nbsp;
95
+ <a href="#M000002">to_rdl</a>&nbsp;&nbsp;
96
+ <a href="#M000004">to_sql_create</a>&nbsp;&nbsp;
97
+ <a href="#M000005">triggerized?</a>&nbsp;&nbsp;
98
+ <a href="#M000008">triggerized_name</a>&nbsp;&nbsp;
99
+ </div>
100
+ </div>
101
+
102
+ </div>
103
+
104
+
105
+ <!-- if includes -->
106
+
107
+ <div id="section">
108
+
109
+
110
+ <div id="constants-list">
111
+ <h3 class="section-bar">Constants</h3>
112
+
113
+ <div class="name-list">
114
+ <table summary="Constants">
115
+ <tr class="top-aligned-row context-row">
116
+ <td class="context-item-name">CLEAN</td>
117
+ <td>=</td>
118
+ <td class="context-item-value">0b0</td>
119
+ </tr>
120
+ <tr class="top-aligned-row context-row">
121
+ <td class="context-item-name">ROW</td>
122
+ <td>=</td>
123
+ <td class="context-item-value">0b00001</td>
124
+ </tr>
125
+ <tr class="top-aligned-row context-row">
126
+ <td class="context-item-name">BEFORE</td>
127
+ <td>=</td>
128
+ <td class="context-item-value">0b00010</td>
129
+ </tr>
130
+ <tr class="top-aligned-row context-row">
131
+ <td class="context-item-name">INSERT</td>
132
+ <td>=</td>
133
+ <td class="context-item-value">0b00100</td>
134
+ </tr>
135
+ <tr class="top-aligned-row context-row">
136
+ <td class="context-item-name">DELETE</td>
137
+ <td>=</td>
138
+ <td class="context-item-value">0b01000</td>
139
+ </tr>
140
+ <tr class="top-aligned-row context-row">
141
+ <td class="context-item-name">UPDATE</td>
142
+ <td>=</td>
143
+ <td class="context-item-value">0b10000</td>
144
+ </tr>
145
+ </table>
146
+ </div>
147
+ </div>
148
+
149
+
150
+
151
+ <div id="attribute-list">
152
+ <h3 class="section-bar">Attributes</h3>
153
+
154
+ <div class="name-list">
155
+ <table>
156
+ <tr class="top-aligned-row context-row">
157
+ <td class="context-item-name">binary_type</td>
158
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
159
+ <td class="context-item-desc"></td>
160
+ </tr>
161
+ <tr class="top-aligned-row context-row">
162
+ <td class="context-item-name">id</td>
163
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
164
+ <td class="context-item-desc"></td>
165
+ </tr>
166
+ <tr class="top-aligned-row context-row">
167
+ <td class="context-item-name">name</td>
168
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
169
+ <td class="context-item-desc"></td>
170
+ </tr>
171
+ <tr class="top-aligned-row context-row">
172
+ <td class="context-item-name">procedure_name</td>
173
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
174
+ <td class="context-item-desc"></td>
175
+ </tr>
176
+ <tr class="top-aligned-row context-row">
177
+ <td class="context-item-name">table</td>
178
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
179
+ <td class="context-item-desc"></td>
180
+ </tr>
181
+ </table>
182
+ </div>
183
+ </div>
184
+
185
+
186
+
187
+ <!-- if method_list -->
188
+ <div id="methods">
189
+ <h3 class="section-bar">Public Class methods</h3>
190
+
191
+ <div id="method-M000001" class="method-detail">
192
+ <a name="M000001"></a>
193
+
194
+ <div class="method-heading">
195
+ <a href="#M000001" class="method-signature">
196
+ <span class="method-name">new</span><span class="method-args">(id, table, name=nil, binary_type=[], procedure_name=nil)</span>
197
+ </a>
198
+ </div>
199
+
200
+ <div class="method-description">
201
+ <p><a class="source-toggle" href="#"
202
+ onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
203
+ <div class="method-source-code" id="M000001-source">
204
+ <pre>
205
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 147</span>
206
+ 147: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">id</span>, <span class="ruby-identifier">table</span>, <span class="ruby-identifier">name</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">binary_type</span>=[], <span class="ruby-identifier">procedure_name</span>=<span class="ruby-keyword kw">nil</span>)
207
+ 148: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;id #{id.inspect} table #{table.inspect} name #{name.inspect} binary_type #{binary_type.inspect} procedure_name #{procedure_name.inspect}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">DEBUG</span>
208
+ 149: <span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
209
+ 150: <span class="ruby-ivar">@table</span> = <span class="ruby-identifier">table</span>
210
+ 151: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">binary_type</span> = <span class="ruby-identifier">binary_type</span>
211
+ 152: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span> = (<span class="ruby-identifier">name</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">triggerized_name</span>)
212
+ 153: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">procedure_name</span> = (<span class="ruby-identifier">procedure_name</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">triggerized_name</span>)
213
+ 154: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;id #{self.id.inspect} table #{self.table.inspect} name #{self.name.inspect} binary_type #{self.binary_type.inspect} procedure_name #{self.procedure_name.inspect}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">DEBUG</span>
214
+ 155: <span class="ruby-keyword kw">end</span>
215
+ </pre>
216
+ </div>
217
+ </div>
218
+ </div>
219
+
220
+ <h3 class="section-bar">Public Instance methods</h3>
221
+
222
+ <div id="method-M000006" class="method-detail">
223
+ <a name="M000006"></a>
224
+
225
+ <div class="method-heading">
226
+ <a href="#M000006" class="method-signature">
227
+ <span class="method-name">before?</span><span class="method-args">()</span>
228
+ </a>
229
+ </div>
230
+
231
+ <div class="method-description">
232
+ <p><a class="source-toggle" href="#"
233
+ onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
234
+ <div class="method-source-code" id="M000006-source">
235
+ <pre>
236
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 203</span>
237
+ 203: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">before?</span>
238
+ 204: <span class="ruby-identifier">calc</span>(<span class="ruby-constant">BEFORE</span>)
239
+ 205: <span class="ruby-keyword kw">end</span>
240
+ </pre>
241
+ </div>
242
+ </div>
243
+ </div>
244
+
245
+ <div id="method-M000003" class="method-detail">
246
+ <a name="M000003"></a>
247
+
248
+ <div class="method-heading">
249
+ <a href="#M000003" class="method-signature">
250
+ <span class="method-name">binary_type=</span><span class="method-args">(*types)</span>
251
+ </a>
252
+ </div>
253
+
254
+ <div class="method-description">
255
+ <p><a class="source-toggle" href="#"
256
+ onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
257
+ <div class="method-source-code" id="M000003-source">
258
+ <pre>
259
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 168</span>
260
+ 168: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">binary_type=</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">types</span>)
261
+ 169: <span class="ruby-comment cmt"># print &quot;types #{types.inspect} types[0] #{types[0].inspect} &quot; if DEBUG</span>
262
+ 170: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">types</span>[<span class="ruby-value">0</span>]
263
+ 171: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Fixnum</span>, <span class="ruby-constant">Array</span>
264
+ 172: <span class="ruby-ivar">@binary_type</span> = <span class="ruby-identifier">bin_typ</span>(<span class="ruby-identifier">types</span>[<span class="ruby-value">0</span>])
265
+ 173: <span class="ruby-keyword kw">else</span>
266
+ 174: <span class="ruby-ivar">@binary_type</span> = <span class="ruby-identifier">bin_typ</span>(<span class="ruby-identifier">types</span>)
267
+ 175: <span class="ruby-keyword kw">end</span>
268
+ 176: <span class="ruby-keyword kw">end</span>
269
+ </pre>
270
+ </div>
271
+ </div>
272
+ </div>
273
+
274
+ <div id="method-M000007" class="method-detail">
275
+ <a name="M000007"></a>
276
+
277
+ <div class="method-heading">
278
+ <a href="#M000007" class="method-signature">
279
+ <span class="method-name">row?</span><span class="method-args">()</span>
280
+ </a>
281
+ </div>
282
+
283
+ <div class="method-description">
284
+ <p><a class="source-toggle" href="#"
285
+ onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
286
+ <div class="method-source-code" id="M000007-source">
287
+ <pre>
288
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 207</span>
289
+ 207: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">row?</span>
290
+ 208: <span class="ruby-identifier">calc</span>(<span class="ruby-constant">ROW</span>)
291
+ 209: <span class="ruby-keyword kw">end</span>
292
+ </pre>
293
+ </div>
294
+ </div>
295
+ </div>
296
+
297
+ <div id="method-M000002" class="method-detail">
298
+ <a name="M000002"></a>
299
+
300
+ <div class="method-heading">
301
+ <a href="#M000002" class="method-signature">
302
+ <span class="method-name">to_rdl</span><span class="method-args">()</span>
303
+ </a>
304
+ </div>
305
+
306
+ <div class="method-description">
307
+ <p>
308
+ that&#8216;s to_r(uby)d(efinition)l(anguage)
309
+ </p>
310
+ <p><a class="source-toggle" href="#"
311
+ onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
312
+ <div class="method-source-code" id="M000002-source">
313
+ <pre>
314
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 158</span>
315
+ 158: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_rdl</span>()
316
+ 159: <span class="ruby-node">&quot; add_trigger(#{Inflector.symbolize(table)}&quot;</span> <span class="ruby-operator">&lt;&lt;</span>
317
+ 160: <span class="ruby-value str">&quot;, [&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">events</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;, &quot;</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;]&quot;</span> <span class="ruby-operator">&lt;&lt;</span>
318
+ 161: ( <span class="ruby-identifier">before?</span> <span class="ruby-value">? </span><span class="ruby-value str">&quot;, :before =&gt; true&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;&quot;</span>) <span class="ruby-operator">&lt;&lt;</span>
319
+ 162: ( <span class="ruby-identifier">row?</span> <span class="ruby-value">? </span><span class="ruby-value str">&quot;, :row =&gt; true&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;&quot;</span>) <span class="ruby-operator">&lt;&lt;</span>
320
+ 163: (<span class="ruby-operator">!</span><span class="ruby-identifier">triggerized?</span> <span class="ruby-value">? </span><span class="ruby-node">&quot;, :name =&gt; #{Inflector.symbolize(name)}&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;&quot;</span>) <span class="ruby-operator">&lt;&lt;</span>
321
+ 164: (<span class="ruby-operator">!</span><span class="ruby-identifier">triggerized?</span>(<span class="ruby-identifier">procedure_name</span>) <span class="ruby-operator">?</span> <span class="ruby-node">&quot;, :function =&gt; #{Inflector.symbolize(procedure_name)}&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;&quot;</span>) <span class="ruby-operator">&lt;&lt;</span>
322
+ 165: <span class="ruby-value str">&quot;)&quot;</span>
323
+ 166: <span class="ruby-keyword kw">end</span>
324
+ </pre>
325
+ </div>
326
+ </div>
327
+ </div>
328
+
329
+ <div id="method-M000004" class="method-detail">
330
+ <a name="M000004"></a>
331
+
332
+ <div class="method-heading">
333
+ <a href="#M000004" class="method-signature">
334
+ <span class="method-name">to_sql_create</span><span class="method-args">()</span>
335
+ </a>
336
+ </div>
337
+
338
+ <div class="method-description">
339
+ <p>
340
+ TODO &#8212;
341
+ </p>
342
+ <p><a class="source-toggle" href="#"
343
+ onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
344
+ <div class="method-source-code" id="M000004-source">
345
+ <pre>
346
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 179</span>
347
+ 179: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_sql_create</span>()
348
+ 180: <span class="ruby-identifier">result</span> = <span class="ruby-value str">&quot;CREATE TRIGGER &quot;</span> <span class="ruby-operator">&lt;&lt;</span>
349
+ 181: <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_sql_name</span> <span class="ruby-operator">&lt;&lt;</span>
350
+ 182: (<span class="ruby-identifier">before?</span> <span class="ruby-value">? </span><span class="ruby-value str">&quot; BEFORE&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot; AFTER&quot;</span>) <span class="ruby-operator">&lt;&lt;</span>
351
+ 183: <span class="ruby-value str">&quot; &quot;</span> <span class="ruby-operator">&lt;&lt;</span>
352
+ 184: (
353
+ 185: <span class="ruby-identifier">events</span>.<span class="ruby-identifier">collect</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">event</span><span class="ruby-operator">|</span>
354
+ 186: <span class="ruby-identifier">event</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">upcase</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^:/</span>, <span class="ruby-value str">''</span>) }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot; OR &quot;</span>)
355
+ 187: ) <span class="ruby-operator">&lt;&lt;</span>
356
+ 188: <span class="ruby-value str">&quot; ON &quot;</span> <span class="ruby-operator">&lt;&lt;</span>
357
+ 189: <span class="ruby-identifier">table</span>.<span class="ruby-identifier">to_sql_name</span> <span class="ruby-operator">&lt;&lt;</span>
358
+ 190: <span class="ruby-value str">&quot; FOR EACH &quot;</span> <span class="ruby-operator">&lt;&lt;</span>
359
+ 191: (<span class="ruby-identifier">row?</span> <span class="ruby-value">? </span><span class="ruby-value str">&quot;ROW&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;STATEMENT&quot;</span>) <span class="ruby-operator">&lt;&lt;</span>
360
+ 192: <span class="ruby-value str">&quot; EXECUTE PROCEDURE &quot;</span> <span class="ruby-operator">&lt;&lt;</span>
361
+ 193: <span class="ruby-identifier">procedure_name</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">&lt;&lt;</span>
362
+ 194: <span class="ruby-value str">&quot;();&quot;</span>
363
+ 195: <span class="ruby-identifier">result</span>
364
+ 196: <span class="ruby-keyword kw">end</span>
365
+ </pre>
366
+ </div>
367
+ </div>
368
+ </div>
369
+
370
+ <div id="method-M000005" class="method-detail">
371
+ <a name="M000005"></a>
372
+
373
+ <div class="method-heading">
374
+ <a href="#M000005" class="method-signature">
375
+ <span class="method-name">triggerized?</span><span class="method-args">(nam=nil)</span>
376
+ </a>
377
+ </div>
378
+
379
+ <div class="method-description">
380
+ <p><a class="source-toggle" href="#"
381
+ onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
382
+ <div class="method-source-code" id="M000005-source">
383
+ <pre>
384
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 198</span>
385
+ 198: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">triggerized?</span>(<span class="ruby-identifier">nam</span>=<span class="ruby-keyword kw">nil</span>)
386
+ 199: <span class="ruby-identifier">nam</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>
387
+ 200: <span class="ruby-identifier">triggerized_name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">nam</span>
388
+ 201: <span class="ruby-keyword kw">end</span>
389
+ </pre>
390
+ </div>
391
+ </div>
392
+ </div>
393
+
394
+ <h3 class="section-bar">Private Instance methods</h3>
395
+
396
+ <div id="method-M000011" class="method-detail">
397
+ <a name="M000011"></a>
398
+
399
+ <div class="method-heading">
400
+ <a href="#M000011" class="method-signature">
401
+ <span class="method-name">bin_typ</span><span class="method-args">(typs)</span>
402
+ </a>
403
+ </div>
404
+
405
+ <div class="method-description">
406
+ <p><a class="source-toggle" href="#"
407
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
408
+ <div class="method-source-code" id="M000011-source">
409
+ <pre>
410
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 229</span>
411
+ 229: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">bin_typ</span>(<span class="ruby-identifier">typs</span>)
412
+ 230: <span class="ruby-comment cmt"># puts &quot;typs #{typs.inspect} typs.class #{typs.class}&quot; if DEBUG</span>
413
+ 231: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">typs</span>
414
+ 232: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Fixnum</span>
415
+ 233: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">typs</span>
416
+ 234: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Symbol</span>
417
+ 235: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">bin_typ</span>(<span class="ruby-identifier">typs</span>.<span class="ruby-identifier">to_s</span>)
418
+ 236: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
419
+ 237: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">typs</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">typs</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\d+$/</span>
420
+ 238: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">typs</span>.<span class="ruby-identifier">upcase</span>.<span class="ruby-identifier">to_sym</span>)
421
+ 239: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Array</span>
422
+ 240: <span class="ruby-identifier">ctype</span> = <span class="ruby-value">0</span>
423
+ 241: <span class="ruby-identifier">typs</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">typ</span><span class="ruby-operator">|</span>
424
+ 242: <span class="ruby-identifier">ctype</span> <span class="ruby-operator">+=</span> <span class="ruby-identifier">bin_typ</span>(<span class="ruby-identifier">typ</span>)
425
+ 243: }
426
+ 244: <span class="ruby-keyword kw">end</span>
427
+ 245: <span class="ruby-identifier">ctype</span>
428
+ 246: <span class="ruby-keyword kw">end</span>
429
+ </pre>
430
+ </div>
431
+ </div>
432
+ </div>
433
+
434
+ <div id="method-M000010" class="method-detail">
435
+ <a name="M000010"></a>
436
+
437
+ <div class="method-heading">
438
+ <a href="#M000010" class="method-signature">
439
+ <span class="method-name">calc</span><span class="method-args">(bin)</span>
440
+ </a>
441
+ </div>
442
+
443
+ <div class="method-description">
444
+ <p><a class="source-toggle" href="#"
445
+ onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
446
+ <div class="method-source-code" id="M000010-source">
447
+ <pre>
448
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 225</span>
449
+ 225: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">calc</span>(<span class="ruby-identifier">bin</span>)
450
+ 226: <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">&quot;0b%0.8b&quot;</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">binary_type</span>())) <span class="ruby-operator">&amp;</span> <span class="ruby-identifier">bin</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
451
+ 227: <span class="ruby-keyword kw">end</span>
452
+ </pre>
453
+ </div>
454
+ </div>
455
+ </div>
456
+
457
+ <div id="method-M000009" class="method-detail">
458
+ <a name="M000009"></a>
459
+
460
+ <div class="method-heading">
461
+ <a href="#M000009" class="method-signature">
462
+ <span class="method-name">events</span><span class="method-args">()</span>
463
+ </a>
464
+ </div>
465
+
466
+ <div class="method-description">
467
+ <p><a class="source-toggle" href="#"
468
+ onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
469
+ <div class="method-source-code" id="M000009-source">
470
+ <pre>
471
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 217</span>
472
+ 217: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">events</span>
473
+ 218: <span class="ruby-identifier">events</span> = []
474
+ 219: <span class="ruby-identifier">events</span>.<span class="ruby-identifier">push</span>(<span class="ruby-value str">&quot;:insert&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">calc</span>(<span class="ruby-constant">INSERT</span>)
475
+ 220: <span class="ruby-identifier">events</span>.<span class="ruby-identifier">push</span>(<span class="ruby-value str">&quot;:update&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">calc</span>(<span class="ruby-constant">UPDATE</span>)
476
+ 221: <span class="ruby-identifier">events</span>.<span class="ruby-identifier">push</span>(<span class="ruby-value str">&quot;:delete&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">calc</span>(<span class="ruby-constant">DELETE</span>)
477
+ 222: <span class="ruby-identifier">events</span>
478
+ 223: <span class="ruby-keyword kw">end</span>
479
+ </pre>
480
+ </div>
481
+ </div>
482
+ </div>
483
+
484
+ <div id="method-M000008" class="method-detail">
485
+ <a name="M000008"></a>
486
+
487
+ <div class="method-heading">
488
+ <a href="#M000008" class="method-signature">
489
+ <span class="method-name">triggerized_name</span><span class="method-args">()</span>
490
+ </a>
491
+ </div>
492
+
493
+ <div class="method-description">
494
+ <p><a class="source-toggle" href="#"
495
+ onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
496
+ <div class="method-source-code" id="M000008-source">
497
+ <pre>
498
+ <span class="ruby-comment cmt"># File lib/rails_pg_procs.rb, line 213</span>
499
+ 213: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">triggerized_name</span>
500
+ 214: <span class="ruby-constant">Inflector</span>.<span class="ruby-identifier">triggerize</span>(<span class="ruby-identifier">table</span>, <span class="ruby-identifier">events</span>, <span class="ruby-identifier">calc</span>(<span class="ruby-constant">BEFORE</span>))
501
+ 215: <span class="ruby-keyword kw">end</span>
502
+ </pre>
503
+ </div>
504
+ </div>
505
+ </div>
506
+
507
+
508
+ </div>
509
+
510
+
511
+ </div>
512
+
513
+
514
+ <div id="validator-badges">
515
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
516
+ </div>
517
+
518
+ </body>
519
+ </html>