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.
- data/README +117 -0
- data/doc/classes/Genosaurus.html +614 -0
- data/doc/created.rid +1 -0
- data/doc/files/README.html +302 -0
- data/doc/files/lib/genosaurus_rb.html +112 -0
- data/doc/fr_class_index.html +27 -0
- data/doc/fr_file_index.html +28 -0
- data/doc/fr_method_index.html +40 -0
- data/doc/index.html +24 -0
- data/doc/rdoc-style.css +208 -0
- data/lib/genosaurus.rb +176 -0
- data/test/genosaurus_test.rb +81 -0
- data/test/lib/hello_goodbye_generator/hello_goodbye_generator.rb +3 -0
- data/test/lib/hello_goodbye_generator/templates/goodbye_world.rb.template +1 -0
- data/test/lib/hello_goodbye_generator/templates/hello_world.rb.template +1 -0
- data/test/lib/i_am_the_walrus_generator/i_am_the_walrus_generator.rb +2 -0
- data/test/lib/i_am_the_walrus_generator/templates/beatles/lyrics/<%=param(:name)%>.txt.template +1 -0
- data/test/lib/strawberry_fields_generator/manifest.yml +7 -0
- data/test/lib/strawberry_fields_generator/strawberry_fields_generator.rb +2 -0
- data/test/lib/strawberry_fields_generator/templates/fields.txt +29 -0
- data/test/test_helper.rb +17 -0
- metadata +97 -0
@@ -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>
|
90
|
+
<a href="#M000006">before_generate</a>
|
91
|
+
<a href="#M000013">directory</a>
|
92
|
+
<a href="#M000014">generate</a>
|
93
|
+
<a href="#M000008">manifest</a>
|
94
|
+
<a href="#M000004">manifest_path</a>
|
95
|
+
<a href="#M000002">new</a>
|
96
|
+
<a href="#M000011">param</a>
|
97
|
+
<a href="#M000009">require_param</a>
|
98
|
+
<a href="#M000010">required_params</a>
|
99
|
+
<a href="#M000001">run</a>
|
100
|
+
<a href="#M000005">setup</a>
|
101
|
+
<a href="#M000012">template</a>
|
102
|
+
<a href="#M000003">templates_directory_path</a>
|
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">"The required parameter '#{p.to_s.upcase}' is missing for this generator!"</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">$"</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">"templates"</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">"manifest.yml"</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"><<</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">"Exists: #{output_dir}"</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">"Created: #{output_dir}"</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">"type"</span>]
|
372
|
+
158: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"file"</span>
|
373
|
+
159: <span class="ruby-identifier">template</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value str">"template_path"</span>], <span class="ruby-identifier">info</span>[<span class="ruby-value str">"output_path"</span>])
|
374
|
+
160: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"directory"</span>
|
375
|
+
161: <span class="ruby-identifier">directory</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value str">"output_path"</span>])
|
376
|
+
162: <span class="ruby-keyword kw">else</span>
|
377
|
+
163: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown 'type': #{info["type"]}!"</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">"->"</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">"**/*.template"</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">""</span>)
|
424
|
+
87: <span class="ruby-identifier">output_path</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-value str">".template"</span>, <span class="ruby-value str">""</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">""</span>)
|
426
|
+
89: <span class="ruby-identifier">man</span>[<span class="ruby-node">"template_#{i+1}"</span>] = {
|
427
|
+
90: <span class="ruby-value str">"type"</span> =<span class="ruby-operator">></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">"directory"</span> <span class="ruby-operator">:</span> <span class="ruby-value str">"file"</span>,
|
428
|
+
91: <span class="ruby-value str">"template_path"</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">f</span>,
|
429
|
+
92: <span class="ruby-value str">"output_path"</span> =<span class="ruby-operator">></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">"->"</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 => 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">"Skipped: #{output_file}"</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 "input_file: #{input_file}"</span>
|
558
|
+
132: <span class="ruby-comment cmt"># puts "output_file: #{output_file}"</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">"w"</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">"->"</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">"Wrote: #{output_file}"</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
|