genosaurus 1.1.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.
@@ -0,0 +1,614 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
+ <head>
8
+ <title>Class: Genosaurus</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td><strong>Class</strong></td>
53
+ <td class="class-name-in-header">Genosaurus</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../files/lib/genosaurus_rb.html">
59
+ lib/genosaurus.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ <tr class="top-aligned-row">
66
+ <td><strong>Parent:</strong></td>
67
+ <td>
68
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000007">after_generate</a>&nbsp;&nbsp;
90
+ <a href="#M000006">before_generate</a>&nbsp;&nbsp;
91
+ <a href="#M000013">directory</a>&nbsp;&nbsp;
92
+ <a href="#M000014">generate</a>&nbsp;&nbsp;
93
+ <a href="#M000008">manifest</a>&nbsp;&nbsp;
94
+ <a href="#M000004">manifest_path</a>&nbsp;&nbsp;
95
+ <a href="#M000002">new</a>&nbsp;&nbsp;
96
+ <a href="#M000011">param</a>&nbsp;&nbsp;
97
+ <a href="#M000009">require_param</a>&nbsp;&nbsp;
98
+ <a href="#M000010">required_params</a>&nbsp;&nbsp;
99
+ <a href="#M000001">run</a>&nbsp;&nbsp;
100
+ <a href="#M000005">setup</a>&nbsp;&nbsp;
101
+ <a href="#M000012">template</a>&nbsp;&nbsp;
102
+ <a href="#M000003">templates_directory_path</a>&nbsp;&nbsp;
103
+ </div>
104
+ </div>
105
+
106
+ </div>
107
+
108
+
109
+ <!-- if includes -->
110
+ <div id="includes">
111
+ <h3 class="section-bar">Included Modules</h3>
112
+
113
+ <div id="includes-list">
114
+ <span class="include-name">FileUtils</span>
115
+ </div>
116
+ </div>
117
+
118
+ <div id="section">
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+ <!-- if method_list -->
128
+ <div id="methods">
129
+ <h3 class="section-bar">Public Class methods</h3>
130
+
131
+ <div id="method-M000002" class="method-detail">
132
+ <a name="M000002"></a>
133
+
134
+ <div class="method-heading">
135
+ <a href="#M000002" class="method-signature">
136
+ <span class="method-name">new</span><span class="method-args">(options = {})</span>
137
+ </a>
138
+ </div>
139
+
140
+ <div class="method-description">
141
+ <p>
142
+ Takes any options needed for this generator. If the generator requires any
143
+ parameters an ArgumentError exception will be raised if those parameters
144
+ are found in the options Hash. The <a
145
+ href="Genosaurus.html#M000005">setup</a> method is called at the end of the
146
+ initialization.
147
+ </p>
148
+ <p><a class="source-toggle" href="#"
149
+ onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
150
+ <div class="method-source-code" id="M000002-source">
151
+ <pre>
152
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 24</span>
153
+ 24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {})
154
+ 25: <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
155
+ 26: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">required_params</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
156
+ 27: <span class="ruby-identifier">raise</span> <span class="ruby-operator">::</span><span class="ruby-constant">ArgumentError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;The required parameter '#{p.to_s.upcase}' is missing for this generator!&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">param</span>(<span class="ruby-identifier">p</span>)
157
+ 28: <span class="ruby-keyword kw">end</span>
158
+ 29: <span class="ruby-ivar">@generator_name</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">name</span>
159
+ 30: <span class="ruby-ivar">@generator_name_underscore</span> = <span class="ruby-ivar">@generator_name</span>.<span class="ruby-identifier">underscore</span>
160
+ 31: <span class="ruby-ivar">@templates_directory_path</span> = <span class="ruby-keyword kw">nil</span>
161
+ 32: <span class="ruby-ivar">@manifest_path</span> = <span class="ruby-keyword kw">nil</span>
162
+ 33: <span class="ruby-identifier">$&quot;</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
163
+ 34: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">match</span>(<span class="ruby-node">/#{@generator_name_underscore}\.rb$/</span>)
164
+ 35: <span class="ruby-ivar">@templates_directory_path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">f</span>), <span class="ruby-value str">&quot;templates&quot;</span>)
165
+ 36: <span class="ruby-ivar">@manifest_path</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">f</span>), <span class="ruby-value str">&quot;manifest.yml&quot;</span>)
166
+ 37: <span class="ruby-keyword kw">end</span>
167
+ 38: <span class="ruby-keyword kw">end</span>
168
+ 39: <span class="ruby-identifier">setup</span>
169
+ 40: <span class="ruby-keyword kw">end</span>
170
+ </pre>
171
+ </div>
172
+ </div>
173
+ </div>
174
+
175
+ <div id="method-M000009" class="method-detail">
176
+ <a name="M000009"></a>
177
+
178
+ <div class="method-heading">
179
+ <a href="#M000009" class="method-signature">
180
+ <span class="method-name">require_param</span><span class="method-args">(*args)</span>
181
+ </a>
182
+ </div>
183
+
184
+ <div class="method-description">
185
+ <p>
186
+ Used to define arguments that are required by the generator.
187
+ </p>
188
+ <p><a class="source-toggle" href="#"
189
+ onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
190
+ <div class="method-source-code" id="M000009-source">
191
+ <pre>
192
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 103</span>
193
+ 103: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">require_param</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
194
+ 104: <span class="ruby-identifier">required_params</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">args</span>
195
+ 105: <span class="ruby-identifier">required_params</span>.<span class="ruby-identifier">flatten!</span>
196
+ 106: <span class="ruby-keyword kw">end</span>
197
+ </pre>
198
+ </div>
199
+ </div>
200
+ </div>
201
+
202
+ <div id="method-M000010" class="method-detail">
203
+ <a name="M000010"></a>
204
+
205
+ <div class="method-heading">
206
+ <a href="#M000010" class="method-signature">
207
+ <span class="method-name">required_params</span><span class="method-args">()</span>
208
+ </a>
209
+ </div>
210
+
211
+ <div class="method-description">
212
+ <p>
213
+ Returns the <a href="Genosaurus.html#M000010">required_params</a> array.
214
+ </p>
215
+ <p><a class="source-toggle" href="#"
216
+ onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
217
+ <div class="method-source-code" id="M000010-source">
218
+ <pre>
219
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 109</span>
220
+ 109: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">required_params</span>
221
+ 110: <span class="ruby-ivar">@required_params</span> <span class="ruby-operator">||=</span> []
222
+ 111: <span class="ruby-keyword kw">end</span>
223
+ </pre>
224
+ </div>
225
+ </div>
226
+ </div>
227
+
228
+ <div id="method-M000001" class="method-detail">
229
+ <a name="M000001"></a>
230
+
231
+ <div class="method-heading">
232
+ <a href="#M000001" class="method-signature">
233
+ <span class="method-name">run</span><span class="method-args">(options = ENV.to_hash)</span>
234
+ </a>
235
+ </div>
236
+
237
+ <div class="method-description">
238
+ <p>
239
+ Instantiates a <a href="Genosaurus.html#M000002">new</a> <a
240
+ href="Genosaurus.html">Genosaurus</a>, passing the ENV hash as options into
241
+ it, runs the <a href="Genosaurus.html#M000014">generate</a> method, and
242
+ returns the <a href="Genosaurus.html">Genosaurus</a> object.
243
+ </p>
244
+ <p><a class="source-toggle" href="#"
245
+ onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
246
+ <div class="method-source-code" id="M000001-source">
247
+ <pre>
248
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 14</span>
249
+ 14: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">options</span> = <span class="ruby-constant">ENV</span>.<span class="ruby-identifier">to_hash</span>)
250
+ 15: <span class="ruby-identifier">gen</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>)
251
+ 16: <span class="ruby-identifier">gen</span>.<span class="ruby-identifier">generate</span>
252
+ 17: <span class="ruby-identifier">gen</span>
253
+ 18: <span class="ruby-keyword kw">end</span>
254
+ </pre>
255
+ </div>
256
+ </div>
257
+ </div>
258
+
259
+ <h3 class="section-bar">Public Instance methods</h3>
260
+
261
+ <div id="method-M000007" class="method-detail">
262
+ <a name="M000007"></a>
263
+
264
+ <div class="method-heading">
265
+ <a href="#M000007" class="method-signature">
266
+ <span class="method-name">after_generate</span><span class="method-args">()</span>
267
+ </a>
268
+ </div>
269
+
270
+ <div class="method-description">
271
+ <p>
272
+ To be overridden in subclasses to do work after the <a
273
+ href="Genosaurus.html#M000014">generate</a> method is <a
274
+ href="Genosaurus.html#M000001">run</a>. This is a simple way to call other
275
+ generators.
276
+ </p>
277
+ <p><a class="source-toggle" href="#"
278
+ onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
279
+ <div class="method-source-code" id="M000007-source">
280
+ <pre>
281
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 69</span>
282
+ 69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">after_generate</span>
283
+ 70: <span class="ruby-keyword kw">end</span>
284
+ </pre>
285
+ </div>
286
+ </div>
287
+ </div>
288
+
289
+ <div id="method-M000006" class="method-detail">
290
+ <a name="M000006"></a>
291
+
292
+ <div class="method-heading">
293
+ <a href="#M000006" class="method-signature">
294
+ <span class="method-name">before_generate</span><span class="method-args">()</span>
295
+ </a>
296
+ </div>
297
+
298
+ <div class="method-description">
299
+ <p>
300
+ To be overridden in subclasses to do work before the <a
301
+ href="Genosaurus.html#M000014">generate</a> method is <a
302
+ href="Genosaurus.html#M000001">run</a>.
303
+ </p>
304
+ <p><a class="source-toggle" href="#"
305
+ onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
306
+ <div class="method-source-code" id="M000006-source">
307
+ <pre>
308
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 64</span>
309
+ 64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">before_generate</span>
310
+ 65: <span class="ruby-keyword kw">end</span>
311
+ </pre>
312
+ </div>
313
+ </div>
314
+ </div>
315
+
316
+ <div id="method-M000013" class="method-detail">
317
+ <a name="M000013"></a>
318
+
319
+ <div class="method-heading">
320
+ <a href="#M000013" class="method-signature">
321
+ <span class="method-name">directory</span><span class="method-args">(output_dir, options = @options)</span>
322
+ </a>
323
+ </div>
324
+
325
+ <div class="method-description">
326
+ <p>
327
+ Creates the specified <a href="Genosaurus.html#M000013">directory</a>.
328
+ </p>
329
+ <p><a class="source-toggle" href="#"
330
+ onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
331
+ <div class="method-source-code" id="M000013-source">
332
+ <pre>
333
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 141</span>
334
+ 141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">directory</span>(<span class="ruby-identifier">output_dir</span>, <span class="ruby-identifier">options</span> = <span class="ruby-ivar">@options</span>)
335
+ 142: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$genosaurus_output_directory</span>
336
+ 143: <span class="ruby-identifier">output_dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">$genosaurus_output_directory</span>, <span class="ruby-identifier">output_dir</span>)
337
+ 144: <span class="ruby-keyword kw">end</span>
338
+ 145: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">output_dir</span>)
339
+ 146: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Exists: #{output_dir}&quot;</span>
340
+ 147: <span class="ruby-keyword kw">return</span>
341
+ 148: <span class="ruby-keyword kw">end</span>
342
+ 149: <span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">output_dir</span>)
343
+ 150: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Created: #{output_dir}&quot;</span>
344
+ 151: <span class="ruby-keyword kw">end</span>
345
+ </pre>
346
+ </div>
347
+ </div>
348
+ </div>
349
+
350
+ <div id="method-M000014" class="method-detail">
351
+ <a name="M000014"></a>
352
+
353
+ <div class="method-heading">
354
+ <a href="#M000014" class="method-signature">
355
+ <span class="method-name">generate</span><span class="method-args">()</span>
356
+ </a>
357
+ </div>
358
+
359
+ <div class="method-description">
360
+ <p>
361
+ This does the dirty work of generation.
362
+ </p>
363
+ <p><a class="source-toggle" href="#"
364
+ onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
365
+ <div class="method-source-code" id="M000014-source">
366
+ <pre>
367
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 154</span>
368
+ 154: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>
369
+ 155: <span class="ruby-identifier">generate_callbacks</span> <span class="ruby-keyword kw">do</span>
370
+ 156: <span class="ruby-identifier">manifest</span>.<span class="ruby-identifier">each_value</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">info</span><span class="ruby-operator">|</span>
371
+ 157: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">&quot;type&quot;</span>]
372
+ 158: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;file&quot;</span>
373
+ 159: <span class="ruby-identifier">template</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value str">&quot;template_path&quot;</span>], <span class="ruby-identifier">info</span>[<span class="ruby-value str">&quot;output_path&quot;</span>])
374
+ 160: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;directory&quot;</span>
375
+ 161: <span class="ruby-identifier">directory</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value str">&quot;output_path&quot;</span>])
376
+ 162: <span class="ruby-keyword kw">else</span>
377
+ 163: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unknown 'type': #{info[&quot;type&quot;]}!&quot;</span>
378
+ 164: <span class="ruby-keyword kw">end</span>
379
+ 165: <span class="ruby-keyword kw">end</span>
380
+ 166: <span class="ruby-keyword kw">end</span>
381
+ 167: <span class="ruby-keyword kw">end</span>
382
+ </pre>
383
+ </div>
384
+ </div>
385
+ </div>
386
+
387
+ <div id="method-M000008" class="method-detail">
388
+ <a name="M000008"></a>
389
+
390
+ <div class="method-heading">
391
+ <a href="#M000008" class="method-signature">
392
+ <span class="method-name">manifest</span><span class="method-args">()</span>
393
+ </a>
394
+ </div>
395
+
396
+ <div class="method-description">
397
+ <p>
398
+ Returns the <a href="Genosaurus.html#M000008">manifest</a> for this
399
+ generator, which is used by the <a
400
+ href="Genosaurus.html#M000014">generate</a> method to do the dirty work. If
401
+ there is a manifest.yml, defined by the <a
402
+ href="Genosaurus.html#M000004">manifest_path</a> method, then the contents
403
+ of that file are processed with ERB and returned. If there is not
404
+ manifest.yml then an implied <a href="Genosaurus.html#M000008">manifest</a>
405
+ is generated from the contents of the <a
406
+ href="Genosaurus.html#M000003">templates_directory_path</a>.
407
+ </p>
408
+ <p><a class="source-toggle" href="#"
409
+ onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
410
+ <div class="method-source-code" id="M000008-source">
411
+ <pre>
412
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 76</span>
413
+ 76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">manifest</span>
414
+ 77: <span class="ruby-identifier">ivar_cache</span> <span class="ruby-keyword kw">do</span>
415
+ 78: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">manifest_path</span>)
416
+ 79: <span class="ruby-comment cmt"># run using the yml file</span>
417
+ 80: <span class="ruby-identifier">template</span> = <span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">manifest_path</span>).<span class="ruby-identifier">read</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">&quot;-&gt;&quot;</span>)
418
+ 81: <span class="ruby-identifier">man</span> = <span class="ruby-constant">YAML</span>.<span class="ruby-identifier">load</span>(<span class="ruby-identifier">template</span>.<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>))
419
+ 82: <span class="ruby-keyword kw">else</span>
420
+ 83: <span class="ruby-identifier">files</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">templates_directory_path</span>, <span class="ruby-value str">&quot;**/*.template&quot;</span>))
421
+ 84: <span class="ruby-identifier">man</span> = {}
422
+ 85: <span class="ruby-identifier">files</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span>, <span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
423
+ 86: <span class="ruby-identifier">output_path</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-identifier">templates_directory_path</span>, <span class="ruby-value str">&quot;&quot;</span>)
424
+ 87: <span class="ruby-identifier">output_path</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-value str">&quot;.template&quot;</span>, <span class="ruby-value str">&quot;&quot;</span>)
425
+ 88: <span class="ruby-identifier">output_path</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/^\//</span>, <span class="ruby-value str">&quot;&quot;</span>)
426
+ 89: <span class="ruby-identifier">man</span>[<span class="ruby-node">&quot;template_#{i+1}&quot;</span>] = {
427
+ 90: <span class="ruby-value str">&quot;type&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">f</span>) <span class="ruby-operator">?</span> <span class="ruby-value str">&quot;directory&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-value str">&quot;file&quot;</span>,
428
+ 91: <span class="ruby-value str">&quot;template_path&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">f</span>,
429
+ 92: <span class="ruby-value str">&quot;output_path&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">output_path</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">&quot;-&gt;&quot;</span>).<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>)
430
+ 93: }
431
+ 94: <span class="ruby-keyword kw">end</span>
432
+ 95: <span class="ruby-keyword kw">end</span>
433
+ 96: <span class="ruby-comment cmt"># puts man.inspect</span>
434
+ 97: <span class="ruby-identifier">man</span>
435
+ 98: <span class="ruby-keyword kw">end</span>
436
+ 99: <span class="ruby-keyword kw">end</span>
437
+ </pre>
438
+ </div>
439
+ </div>
440
+ </div>
441
+
442
+ <div id="method-M000004" class="method-detail">
443
+ <a name="M000004"></a>
444
+
445
+ <div class="method-heading">
446
+ <a href="#M000004" class="method-signature">
447
+ <span class="method-name">manifest_path</span><span class="method-args">()</span>
448
+ </a>
449
+ </div>
450
+
451
+ <div class="method-description">
452
+ <p>
453
+ Returns the path to the manifest.yml. This is only used if you have a
454
+ manifest.yml file, if there is no file, or this method returns nil, then an
455
+ implied <a href="Genosaurus.html#M000008">manifest</a> is used based on the
456
+ <a href="Genosaurus.html#M000003">templates_directory_path</a> contents.
457
+ IMPORTANT: <a href="Genosaurus.html">Genosaurus</a> will attempt to find
458
+ this location automatically, HOWEVER, if there is a problem, or you want to
459
+ be special, you can override this method in your generator and have it
460
+ return the correct path.
461
+ </p>
462
+ <p><a class="source-toggle" href="#"
463
+ onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
464
+ <div class="method-source-code" id="M000004-source">
465
+ <pre>
466
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 54</span>
467
+ 54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">manifest_path</span>
468
+ 55: <span class="ruby-ivar">@manifest_path</span>
469
+ 56: <span class="ruby-keyword kw">end</span>
470
+ </pre>
471
+ </div>
472
+ </div>
473
+ </div>
474
+
475
+ <div id="method-M000011" class="method-detail">
476
+ <a name="M000011"></a>
477
+
478
+ <div class="method-heading">
479
+ <a href="#M000011" class="method-signature">
480
+ <span class="method-name">param</span><span class="method-args">(key)</span>
481
+ </a>
482
+ </div>
483
+
484
+ <div class="method-description">
485
+ <p>
486
+ Returns a parameter from the initial Hash of parameters.
487
+ </p>
488
+ <p><a class="source-toggle" href="#"
489
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
490
+ <div class="method-source-code" id="M000011-source">
491
+ <pre>
492
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 114</span>
493
+ 114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">param</span>(<span class="ruby-identifier">key</span>)
494
+ 115: (<span class="ruby-ivar">@options</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>] <span class="ruby-operator">||=</span> <span class="ruby-ivar">@options</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">upcase</span>])
495
+ 116: <span class="ruby-keyword kw">end</span>
496
+ </pre>
497
+ </div>
498
+ </div>
499
+ </div>
500
+
501
+ <div id="method-M000005" class="method-detail">
502
+ <a name="M000005"></a>
503
+
504
+ <div class="method-heading">
505
+ <a href="#M000005" class="method-signature">
506
+ <span class="method-name">setup</span><span class="method-args">()</span>
507
+ </a>
508
+ </div>
509
+
510
+ <div class="method-description">
511
+ <p>
512
+ To be overridden in subclasses to do any <a
513
+ href="Genosaurus.html#M000005">setup</a> work needed by the generator.
514
+ </p>
515
+ <p><a class="source-toggle" href="#"
516
+ onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
517
+ <div class="method-source-code" id="M000005-source">
518
+ <pre>
519
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 59</span>
520
+ 59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup</span>
521
+ 60: <span class="ruby-comment cmt"># does nothing, unless overridden in subclass.</span>
522
+ 61: <span class="ruby-keyword kw">end</span>
523
+ </pre>
524
+ </div>
525
+ </div>
526
+ </div>
527
+
528
+ <div id="method-M000012" class="method-detail">
529
+ <a name="M000012"></a>
530
+
531
+ <div class="method-heading">
532
+ <a href="#M000012" class="method-signature">
533
+ <span class="method-name">template</span><span class="method-args">(input_file, output_file, options = @options)</span>
534
+ </a>
535
+ </div>
536
+
537
+ <div class="method-description">
538
+ <p>
539
+ Takes an input_file runs it through ERB and saves it to the specified
540
+ output_file. If the output_file exists it will be skipped. If you would
541
+ like to force the writing of the file, use the :force =&gt; true option.
542
+ </p>
543
+ <p><a class="source-toggle" href="#"
544
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
545
+ <div class="method-source-code" id="M000012-source">
546
+ <pre>
547
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 122</span>
548
+ 122: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">template</span>(<span class="ruby-identifier">input_file</span>, <span class="ruby-identifier">output_file</span>, <span class="ruby-identifier">options</span> = <span class="ruby-ivar">@options</span>)
549
+ 123: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">output_file</span>)
550
+ 124: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:force</span>]
551
+ 125: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Skipped: #{output_file}&quot;</span>
552
+ 126: <span class="ruby-keyword kw">return</span>
553
+ 127: <span class="ruby-keyword kw">end</span>
554
+ 128: <span class="ruby-keyword kw">end</span>
555
+ 129: <span class="ruby-comment cmt"># incase the directory doesn't exist, let's create it.</span>
556
+ 130: <span class="ruby-identifier">directory</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">output_file</span>))
557
+ 131: <span class="ruby-comment cmt"># puts &quot;input_file: #{input_file}&quot;</span>
558
+ 132: <span class="ruby-comment cmt"># puts &quot;output_file: #{output_file}&quot;</span>
559
+ 133: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$genosaurus_output_directory</span>
560
+ 134: <span class="ruby-identifier">output_file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">$genosaurus_output_directory</span>, <span class="ruby-identifier">output_file</span>)
561
+ 135: <span class="ruby-keyword kw">end</span>
562
+ 136: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">output_file</span>, <span class="ruby-value str">&quot;w&quot;</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">input_file</span>).<span class="ruby-identifier">read</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">&quot;-&gt;&quot;</span>).<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>)}
563
+ 137: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Wrote: #{output_file}&quot;</span>
564
+ 138: <span class="ruby-keyword kw">end</span>
565
+ </pre>
566
+ </div>
567
+ </div>
568
+ </div>
569
+
570
+ <div id="method-M000003" class="method-detail">
571
+ <a name="M000003"></a>
572
+
573
+ <div class="method-heading">
574
+ <a href="#M000003" class="method-signature">
575
+ <span class="method-name">templates_directory_path</span><span class="method-args">()</span>
576
+ </a>
577
+ </div>
578
+
579
+ <div class="method-description">
580
+ <p>
581
+ Returns the path to the templates <a
582
+ href="Genosaurus.html#M000013">directory</a>. IMPORTANT: The location of
583
+ the <a href="Genosaurus.html#M000003">templates_directory_path</a> is VERY
584
+ important! <a href="Genosaurus.html">Genosaurus</a> will attempt to find
585
+ this location automatically, HOWEVER, if there is a problem, or you want to
586
+ be special, you can override this method in your generator and have it
587
+ return the correct path.
588
+ </p>
589
+ <p><a class="source-toggle" href="#"
590
+ onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
591
+ <div class="method-source-code" id="M000003-source">
592
+ <pre>
593
+ <span class="ruby-comment cmt"># File lib/genosaurus.rb, line 46</span>
594
+ 46: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">templates_directory_path</span>
595
+ 47: <span class="ruby-ivar">@templates_directory_path</span>
596
+ 48: <span class="ruby-keyword kw">end</span>
597
+ </pre>
598
+ </div>
599
+ </div>
600
+ </div>
601
+
602
+
603
+ </div>
604
+
605
+
606
+ </div>
607
+
608
+
609
+ <div id="validator-badges">
610
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
611
+ </div>
612
+
613
+ </body>
614
+ </html>
data/doc/created.rid ADDED
@@ -0,0 +1 @@
1
+ Tue, 22 Apr 2008 17:04:53 -0400