genosaurus 1.1.8 → 1.2.0
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/doc/classes/Genosaurus.html +129 -131
- data/doc/classes/String.html +151 -0
- data/doc/created.rid +1 -1
- data/doc/files/README.html +1 -1
- data/doc/files/lib/genosaurus_rb.html +1 -2
- data/doc/fr_class_index.html +1 -0
- data/doc/fr_method_index.html +1 -0
- data/lib/genosaurus.rb +33 -25
- data/test/test_helper.rb +6 -0
- metadata +4 -12
data/doc/classes/Genosaurus.html
CHANGED
@@ -151,24 +151,24 @@ initialization.
|
|
151
151
|
onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
|
152
152
|
<div class="method-source-code" id="M000002-source">
|
153
153
|
<pre>
|
154
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
29: <span class="ruby-keyword kw">end</span>
|
160
|
-
30: <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>
|
161
|
-
31: <span class="ruby-ivar">@generator_name_underscore</span> = <span class="ruby-ivar">@generator_name</span>.<span class="ruby-identifier">underscore</span>
|
162
|
-
32: <span class="ruby-ivar">@templates_directory_path</span> = <span class="ruby-keyword kw">nil</span>
|
163
|
-
33: <span class="ruby-ivar">@manifest_path</span> = <span class="ruby-keyword kw">nil</span>
|
164
|
-
34: <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>
|
165
|
-
35: <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>)
|
166
|
-
36: <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>)
|
167
|
-
37: <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>)
|
168
|
-
38: <span class="ruby-keyword kw">end</span>
|
154
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 35</span>
|
155
|
+
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {})
|
156
|
+
36: <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
|
157
|
+
37: <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>
|
158
|
+
38: <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>)
|
169
159
|
39: <span class="ruby-keyword kw">end</span>
|
170
|
-
40: <span class="ruby-identifier">
|
171
|
-
41:
|
160
|
+
40: <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>
|
161
|
+
41: <span class="ruby-ivar">@generator_name_underscore</span> = <span class="ruby-ivar">@generator_name</span>.<span class="ruby-identifier">underscore</span> <span class="ruby-comment cmt">#String::Style.underscore(@generator_name)#.underscore</span>
|
162
|
+
42: <span class="ruby-ivar">@templates_directory_path</span> = <span class="ruby-keyword kw">nil</span>
|
163
|
+
43: <span class="ruby-ivar">@manifest_path</span> = <span class="ruby-keyword kw">nil</span>
|
164
|
+
44: <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>
|
165
|
+
45: <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>)
|
166
|
+
46: <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>)
|
167
|
+
47: <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>)
|
168
|
+
48: <span class="ruby-keyword kw">end</span>
|
169
|
+
49: <span class="ruby-keyword kw">end</span>
|
170
|
+
50: <span class="ruby-identifier">setup</span>
|
171
|
+
51: <span class="ruby-keyword kw">end</span>
|
172
172
|
</pre>
|
173
173
|
</div>
|
174
174
|
</div>
|
@@ -191,11 +191,11 @@ Used to define arguments that are required by the generator.
|
|
191
191
|
onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
|
192
192
|
<div class="method-source-code" id="M000009-source">
|
193
193
|
<pre>
|
194
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
194
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 114</span>
|
195
|
+
114: <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>)
|
196
|
+
115: <span class="ruby-identifier">required_params</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">args</span>
|
197
|
+
116: <span class="ruby-identifier">required_params</span>.<span class="ruby-identifier">flatten!</span>
|
198
|
+
117: <span class="ruby-keyword kw">end</span>
|
199
199
|
</pre>
|
200
200
|
</div>
|
201
201
|
</div>
|
@@ -218,10 +218,10 @@ Returns the <a href="Genosaurus.html#M000010">required_params</a> array.
|
|
218
218
|
onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
|
219
219
|
<div class="method-source-code" id="M000010-source">
|
220
220
|
<pre>
|
221
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
222
|
-
|
223
|
-
|
224
|
-
|
221
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 120</span>
|
222
|
+
120: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">required_params</span>
|
223
|
+
121: <span class="ruby-ivar">@required_params</span> <span class="ruby-operator">||=</span> []
|
224
|
+
122: <span class="ruby-keyword kw">end</span>
|
225
225
|
</pre>
|
226
226
|
</div>
|
227
227
|
</div>
|
@@ -247,12 +247,12 @@ returns the <a href="Genosaurus.html">Genosaurus</a> object.
|
|
247
247
|
onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
|
248
248
|
<div class="method-source-code" id="M000001-source">
|
249
249
|
<pre>
|
250
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
250
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 25</span>
|
251
|
+
25: <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>)
|
252
|
+
26: <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>)
|
253
|
+
27: <span class="ruby-identifier">gen</span>.<span class="ruby-identifier">generate</span>
|
254
|
+
28: <span class="ruby-identifier">gen</span>
|
255
|
+
29: <span class="ruby-keyword kw">end</span>
|
256
256
|
</pre>
|
257
257
|
</div>
|
258
258
|
</div>
|
@@ -280,9 +280,9 @@ generators.
|
|
280
280
|
onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
|
281
281
|
<div class="method-source-code" id="M000007-source">
|
282
282
|
<pre>
|
283
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
284
|
-
|
285
|
-
|
283
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 80</span>
|
284
|
+
80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">after_generate</span>
|
285
|
+
81: <span class="ruby-keyword kw">end</span>
|
286
286
|
</pre>
|
287
287
|
</div>
|
288
288
|
</div>
|
@@ -307,9 +307,9 @@ href="Genosaurus.html#M000001">run</a>.
|
|
307
307
|
onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
|
308
308
|
<div class="method-source-code" id="M000006-source">
|
309
309
|
<pre>
|
310
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
311
|
-
|
312
|
-
|
310
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 75</span>
|
311
|
+
75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">before_generate</span>
|
312
|
+
76: <span class="ruby-keyword kw">end</span>
|
313
313
|
</pre>
|
314
314
|
</div>
|
315
315
|
</div>
|
@@ -329,12 +329,12 @@ href="Genosaurus.html#M000001">run</a>.
|
|
329
329
|
onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
|
330
330
|
<div class="method-source-code" id="M000014-source">
|
331
331
|
<pre>
|
332
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
332
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 154</span>
|
333
|
+
154: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">copy</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>)
|
334
|
+
155: <span class="ruby-identifier">output_file</span> = <span class="ruby-identifier">template_copy_common</span>(<span class="ruby-identifier">output_file</span>, <span class="ruby-identifier">options</span>)
|
335
|
+
156: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">cp</span>(<span class="ruby-identifier">input_file</span>, <span class="ruby-identifier">output_file</span>)
|
336
|
+
157: <span class="ruby-identifier">puts</span> <span class="ruby-node">"Copied: #{output_file}"</span>
|
337
|
+
158: <span class="ruby-keyword kw">end</span>
|
338
338
|
</pre>
|
339
339
|
</div>
|
340
340
|
</div>
|
@@ -357,18 +357,18 @@ Creates the specified <a href="Genosaurus.html#M000013">directory</a>.
|
|
357
357
|
onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
|
358
358
|
<div class="method-source-code" id="M000013-source">
|
359
359
|
<pre>
|
360
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
360
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 142</span>
|
361
|
+
142: <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>)
|
362
|
+
143: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$genosaurus_output_directory</span>
|
363
|
+
144: <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>)
|
364
|
+
145: <span class="ruby-keyword kw">end</span>
|
365
|
+
146: <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>)
|
366
|
+
147: <span class="ruby-identifier">puts</span> <span class="ruby-node">"Exists: #{output_dir}"</span>
|
367
|
+
148: <span class="ruby-keyword kw">return</span>
|
368
|
+
149: <span class="ruby-keyword kw">end</span>
|
369
|
+
150: <span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">output_dir</span>)
|
370
|
+
151: <span class="ruby-identifier">puts</span> <span class="ruby-node">"Created: #{output_dir}"</span>
|
371
|
+
152: <span class="ruby-keyword kw">end</span>
|
372
372
|
</pre>
|
373
373
|
</div>
|
374
374
|
</div>
|
@@ -391,23 +391,23 @@ This does the dirty work of generation.
|
|
391
391
|
onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
|
392
392
|
<div class="method-source-code" id="M000015-source">
|
393
393
|
<pre>
|
394
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
394
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 161</span>
|
395
|
+
161: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate</span>
|
396
|
+
162: <span class="ruby-identifier">generate_callbacks</span> <span class="ruby-keyword kw">do</span>
|
397
|
+
163: <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>
|
398
|
+
164: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">info</span>[<span class="ruby-value str">"type"</span>]
|
399
|
+
165: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"file"</span>
|
400
|
+
166: <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>])
|
401
|
+
167: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"directory"</span>
|
402
|
+
168: <span class="ruby-identifier">directory</span>(<span class="ruby-identifier">info</span>[<span class="ruby-value str">"output_path"</span>])
|
403
|
+
169: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"copy"</span>
|
404
|
+
170: <span class="ruby-identifier">copy</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>])
|
405
|
+
171: <span class="ruby-keyword kw">else</span>
|
406
|
+
172: <span class="ruby-identifier">raise</span> <span class="ruby-node">"Unknown 'type': #{info["type"]}!"</span>
|
407
|
+
173: <span class="ruby-keyword kw">end</span>
|
408
|
+
174: <span class="ruby-keyword kw">end</span>
|
409
|
+
175: <span class="ruby-keyword kw">end</span>
|
410
|
+
176: <span class="ruby-keyword kw">end</span>
|
411
411
|
</pre>
|
412
412
|
</div>
|
413
413
|
</div>
|
@@ -438,34 +438,32 @@ href="Genosaurus.html#M000003">templates_directory_path</a>.
|
|
438
438
|
onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
|
439
439
|
<div class="method-source-code" id="M000008-source">
|
440
440
|
<pre>
|
441
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
102: <span class="ruby-keyword kw">end</span>
|
468
|
-
103: <span class="ruby-keyword kw">end</span>
|
441
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 87</span>
|
442
|
+
87: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">manifest</span>
|
443
|
+
88: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">templates_directory_path</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">manifest_path</span>.<span class="ruby-identifier">nil?</span>
|
444
|
+
89: <span class="ruby-identifier">raise</span> <span class="ruby-value str">"Unable to dynamically figure out your templates_directory_path and manifest_path!\nPlease implement these methods and let Genosaurus know where to find these things. Thanks."</span>
|
445
|
+
90: <span class="ruby-keyword kw">end</span>
|
446
|
+
91: <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>)
|
447
|
+
92: <span class="ruby-comment cmt"># run using the yml file</span>
|
448
|
+
93: <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>)
|
449
|
+
94: <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>))
|
450
|
+
95: <span class="ruby-keyword kw">else</span>
|
451
|
+
96: <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>))
|
452
|
+
97: <span class="ruby-identifier">man</span> = {}
|
453
|
+
98: <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>
|
454
|
+
99: <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>)
|
455
|
+
100: <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>)
|
456
|
+
101: <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>)
|
457
|
+
102: <span class="ruby-identifier">man</span>[<span class="ruby-node">"template_#{i+1}"</span>] = {
|
458
|
+
103: <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>,
|
459
|
+
104: <span class="ruby-value str">"template_path"</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">f</span>,
|
460
|
+
105: <span class="ruby-value str">"output_path"</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Erubis</span><span class="ruby-operator">::</span><span class="ruby-constant">Eruby</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">output_path</span>, <span class="ruby-identifier">:pattern</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'% %'</span>).<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>)
|
461
|
+
106: }
|
462
|
+
107: <span class="ruby-keyword kw">end</span>
|
463
|
+
108: <span class="ruby-keyword kw">end</span>
|
464
|
+
109: <span class="ruby-comment cmt"># puts man.inspect</span>
|
465
|
+
110: <span class="ruby-identifier">man</span>
|
466
|
+
111: <span class="ruby-keyword kw">end</span>
|
469
467
|
</pre>
|
470
468
|
</div>
|
471
469
|
</div>
|
@@ -495,10 +493,10 @@ return the correct path.
|
|
495
493
|
onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
|
496
494
|
<div class="method-source-code" id="M000004-source">
|
497
495
|
<pre>
|
498
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
499
|
-
|
500
|
-
|
501
|
-
|
496
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 65</span>
|
497
|
+
65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">manifest_path</span>
|
498
|
+
66: <span class="ruby-ivar">@manifest_path</span>
|
499
|
+
67: <span class="ruby-keyword kw">end</span>
|
502
500
|
</pre>
|
503
501
|
</div>
|
504
502
|
</div>
|
@@ -518,12 +516,12 @@ return the correct path.
|
|
518
516
|
onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
|
519
517
|
<div class="method-source-code" id="M000016-source">
|
520
518
|
<pre>
|
521
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
519
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 178</span>
|
520
|
+
178: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">sym</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
521
|
+
179: <span class="ruby-identifier">p</span> = <span class="ruby-identifier">param</span>(<span class="ruby-identifier">sym</span>)
|
522
|
+
180: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">p</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span>
|
523
|
+
181: <span class="ruby-identifier">raise</span> <span class="ruby-constant">NoMethodError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">sym</span>)
|
524
|
+
182: <span class="ruby-keyword kw">end</span>
|
527
525
|
</pre>
|
528
526
|
</div>
|
529
527
|
</div>
|
@@ -546,10 +544,10 @@ Returns a parameter from the initial Hash of parameters.
|
|
546
544
|
onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
|
547
545
|
<div class="method-source-code" id="M000011-source">
|
548
546
|
<pre>
|
549
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
550
|
-
|
551
|
-
|
552
|
-
|
547
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 125</span>
|
548
|
+
125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">param</span>(<span class="ruby-identifier">key</span>)
|
549
|
+
126: (<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>])
|
550
|
+
127: <span class="ruby-keyword kw">end</span>
|
553
551
|
</pre>
|
554
552
|
</div>
|
555
553
|
</div>
|
@@ -573,10 +571,10 @@ href="Genosaurus.html#M000005">setup</a> work needed by the generator.
|
|
573
571
|
onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
|
574
572
|
<div class="method-source-code" id="M000005-source">
|
575
573
|
<pre>
|
576
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
577
|
-
|
578
|
-
|
579
|
-
|
574
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 70</span>
|
575
|
+
70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">setup</span>
|
576
|
+
71: <span class="ruby-comment cmt"># does nothing, unless overridden in subclass.</span>
|
577
|
+
72: <span class="ruby-keyword kw">end</span>
|
580
578
|
</pre>
|
581
579
|
</div>
|
582
580
|
</div>
|
@@ -601,14 +599,14 @@ like to force the writing of the file, use the :force => true option.
|
|
601
599
|
onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
|
602
600
|
<div class="method-source-code" id="M000012-source">
|
603
601
|
<pre>
|
604
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
|
609
|
-
|
610
|
-
|
611
|
-
|
602
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 133</span>
|
603
|
+
133: <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>)
|
604
|
+
134: <span class="ruby-identifier">output_file</span> = <span class="ruby-identifier">template_copy_common</span>(<span class="ruby-identifier">output_file</span>, <span class="ruby-identifier">options</span>)
|
605
|
+
135: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">output_file</span>.<span class="ruby-identifier">nil?</span>
|
606
|
+
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>)}
|
607
|
+
137: <span class="ruby-identifier">puts</span> <span class="ruby-node">"Wrote: #{output_file}"</span>
|
608
|
+
138: <span class="ruby-keyword kw">end</span>
|
609
|
+
139: <span class="ruby-keyword kw">end</span>
|
612
610
|
</pre>
|
613
611
|
</div>
|
614
612
|
</div>
|
@@ -637,10 +635,10 @@ return the correct path.
|
|
637
635
|
onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
|
638
636
|
<div class="method-source-code" id="M000003-source">
|
639
637
|
<pre>
|
640
|
-
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line
|
641
|
-
|
642
|
-
|
643
|
-
|
638
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 57</span>
|
639
|
+
57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">templates_directory_path</span>
|
640
|
+
58: <span class="ruby-ivar">@templates_directory_path</span>
|
641
|
+
59: <span class="ruby-keyword kw">end</span>
|
644
642
|
</pre>
|
645
643
|
</div>
|
646
644
|
</div>
|
@@ -0,0 +1,151 @@
|
|
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: String</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">String</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="#M000017">underscore</a>
|
90
|
+
</div>
|
91
|
+
</div>
|
92
|
+
|
93
|
+
</div>
|
94
|
+
|
95
|
+
|
96
|
+
<!-- if includes -->
|
97
|
+
|
98
|
+
<div id="section">
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
<!-- if method_list -->
|
108
|
+
<div id="methods">
|
109
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
110
|
+
|
111
|
+
<div id="method-M000017" class="method-detail">
|
112
|
+
<a name="M000017"></a>
|
113
|
+
|
114
|
+
<div class="method-heading">
|
115
|
+
<a href="#M000017" class="method-signature">
|
116
|
+
<span class="method-name">underscore</span><span class="method-args">()</span>
|
117
|
+
</a>
|
118
|
+
</div>
|
119
|
+
|
120
|
+
<div class="method-description">
|
121
|
+
<p><a class="source-toggle" href="#"
|
122
|
+
onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
|
123
|
+
<div class="method-source-code" id="M000017-source">
|
124
|
+
<pre>
|
125
|
+
<span class="ruby-comment cmt"># File lib/genosaurus.rb, line 8</span>
|
126
|
+
8: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">underscore</span>
|
127
|
+
9: <span class="ruby-identifier">camel_cased_word</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">dup</span>
|
128
|
+
10: <span class="ruby-identifier">camel_cased_word</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/::/</span>, <span class="ruby-value str">'/'</span>).
|
129
|
+
11: <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([A-Z]+)([A-Z][a-z])/</span>,<span class="ruby-value str">'\1_\2'</span>).
|
130
|
+
12: <span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/([a-z\d])([A-Z])/</span>,<span class="ruby-value str">'\1_\2'</span>).
|
131
|
+
13: <span class="ruby-identifier">tr</span>(<span class="ruby-value str">"-"</span>, <span class="ruby-value str">"_"</span>).
|
132
|
+
14: <span class="ruby-identifier">downcase</span>
|
133
|
+
15: <span class="ruby-keyword kw">end</span>
|
134
|
+
</pre>
|
135
|
+
</div>
|
136
|
+
</div>
|
137
|
+
</div>
|
138
|
+
|
139
|
+
|
140
|
+
</div>
|
141
|
+
|
142
|
+
|
143
|
+
</div>
|
144
|
+
|
145
|
+
|
146
|
+
<div id="validator-badges">
|
147
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
148
|
+
</div>
|
149
|
+
|
150
|
+
</body>
|
151
|
+
</html>
|
data/doc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Sun, 29 Jun 2008 21:18:17 +0100
|
data/doc/files/README.html
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Sun Jun 29 21:17:08 +0100 2008</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -74,7 +74,6 @@
|
|
74
74
|
|
75
75
|
<div class="name-list">
|
76
76
|
rubygems
|
77
|
-
mack_ruby_core_extensions
|
78
77
|
fileutils
|
79
78
|
erb
|
80
79
|
yaml
|
data/doc/fr_class_index.html
CHANGED
data/doc/fr_method_index.html
CHANGED
@@ -36,6 +36,7 @@
|
|
36
36
|
<a href="classes/Genosaurus.html#M000005">setup (Genosaurus)</a><br />
|
37
37
|
<a href="classes/Genosaurus.html#M000012">template (Genosaurus)</a><br />
|
38
38
|
<a href="classes/Genosaurus.html#M000003">templates_directory_path (Genosaurus)</a><br />
|
39
|
+
<a href="classes/String.html#M000017">underscore (String)</a><br />
|
39
40
|
</div>
|
40
41
|
</div>
|
41
42
|
</body>
|
data/lib/genosaurus.rb
CHANGED
@@ -1,10 +1,20 @@
|
|
1
1
|
require 'rubygems'
|
2
|
-
require 'mack_ruby_core_extensions'
|
3
2
|
require 'fileutils'
|
4
3
|
require 'erb'
|
5
4
|
require 'yaml'
|
6
5
|
require 'erubis'
|
7
6
|
|
7
|
+
class String
|
8
|
+
def underscore
|
9
|
+
camel_cased_word = self.dup
|
10
|
+
camel_cased_word.to_s.gsub(/::/, '/').
|
11
|
+
gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
|
12
|
+
gsub(/([a-z\d])([A-Z])/,'\1_\2').
|
13
|
+
tr("-", "_").
|
14
|
+
downcase
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
8
18
|
class Genosaurus
|
9
19
|
|
10
20
|
include FileUtils
|
@@ -28,7 +38,7 @@ class Genosaurus
|
|
28
38
|
raise ::ArgumentError.new("The required parameter '#{p.to_s.upcase}' is missing for this generator!") unless param(p)
|
29
39
|
end
|
30
40
|
@generator_name = self.class.name
|
31
|
-
@generator_name_underscore = @generator_name.underscore
|
41
|
+
@generator_name_underscore = @generator_name.underscore #String::Style.underscore(@generator_name)#.underscore
|
32
42
|
@templates_directory_path = nil
|
33
43
|
@manifest_path = nil
|
34
44
|
$".each do |f|
|
@@ -75,31 +85,29 @@ class Genosaurus
|
|
75
85
|
# with ERB and returned. If there is not manifest.yml then an implied manifest is generated from the contents
|
76
86
|
# of the templates_directory_path.
|
77
87
|
def manifest
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
}
|
98
|
-
end
|
88
|
+
if templates_directory_path.nil? || manifest_path.nil?
|
89
|
+
raise "Unable to dynamically figure out your templates_directory_path and manifest_path!\nPlease implement these methods and let Genosaurus know where to find these things. Thanks."
|
90
|
+
end
|
91
|
+
if File.exists?(manifest_path)
|
92
|
+
# run using the yml file
|
93
|
+
template = ERB.new(File.open(manifest_path).read, nil, "->")
|
94
|
+
man = YAML.load(template.result(binding))
|
95
|
+
else
|
96
|
+
files = Dir.glob(File.join(templates_directory_path, "**/*.template"))
|
97
|
+
man = {}
|
98
|
+
files.each_with_index do |f, i|
|
99
|
+
output_path = f.gsub(templates_directory_path, "")
|
100
|
+
output_path.gsub!(".template", "")
|
101
|
+
output_path.gsub!(/^\//, "")
|
102
|
+
man["template_#{i+1}"] = {
|
103
|
+
"type" => File.directory?(f) ? "directory" : "file",
|
104
|
+
"template_path" => f,
|
105
|
+
"output_path" => Erubis::Eruby.new(output_path, :pattern => '% %').result(binding)
|
106
|
+
}
|
99
107
|
end
|
100
|
-
# puts man.inspect
|
101
|
-
man
|
102
108
|
end
|
109
|
+
# puts man.inspect
|
110
|
+
man
|
103
111
|
end
|
104
112
|
|
105
113
|
# Used to define arguments that are required by the generator.
|
data/test/test_helper.rb
CHANGED
@@ -13,6 +13,12 @@ puts "$genosaurus_output_directory: #{$genosaurus_output_directory}"
|
|
13
13
|
|
14
14
|
Dir.glob(File.join(File.dirname(__FILE__), "lib", "**/*.rb")).each {|f| require f}
|
15
15
|
|
16
|
+
class String
|
17
|
+
def capitalize_all_words
|
18
|
+
self.gsub(/\b\w/) {|s| s.upcase}
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
16
22
|
class Test::Unit::TestCase
|
17
23
|
|
18
24
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: genosaurus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- markbates
|
@@ -9,18 +9,9 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-06-29 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
|
-
- !ruby/object:Gem::Dependency
|
16
|
-
name: mack_ruby_core_extensions
|
17
|
-
version_requirement:
|
18
|
-
version_requirements: !ruby/object:Gem::Requirement
|
19
|
-
requirements:
|
20
|
-
- - ">="
|
21
|
-
- !ruby/object:Gem::Version
|
22
|
-
version: "0"
|
23
|
-
version:
|
24
15
|
- !ruby/object:Gem::Dependency
|
25
16
|
name: erubis
|
26
17
|
version_requirement:
|
@@ -42,6 +33,7 @@ files:
|
|
42
33
|
- lib/genosaurus.rb
|
43
34
|
- README
|
44
35
|
- doc/classes/Genosaurus.html
|
36
|
+
- doc/classes/String.html
|
45
37
|
- doc/created.rid
|
46
38
|
- doc/files/lib/genosaurus_rb.html
|
47
39
|
- doc/files/README.html
|
@@ -73,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
65
|
requirements: []
|
74
66
|
|
75
67
|
rubyforge_project: magrathea
|
76
|
-
rubygems_version: 1.
|
68
|
+
rubygems_version: 1.1.1
|
77
69
|
signing_key:
|
78
70
|
specification_version: 2
|
79
71
|
summary: genosaurus
|