inochi 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/bin/inochi CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/ruby -w
1
+ #!/usr/bin/env ruby
2
2
  #
3
3
  # Generates a project scaffold using the given information.
4
4
  #
@@ -36,8 +36,8 @@
36
36
  #
37
37
 
38
38
  #--
39
- # Copyright 2009 Suraj N. Kurapati
40
- # See the LICENSE file for details.
39
+ # Copyright protects this work.
40
+ # See LICENSE file for details.
41
41
  #++
42
42
 
43
43
  # command line
@@ -143,7 +143,7 @@
143
143
 
144
144
  bin_file = "#{program_name}/bin/#{program_name}"
145
145
  create bin_file, %{
146
- #!/usr/bin/ruby -w
146
+ #!/usr/bin/env ruby
147
147
  #
148
148
  # TODO: Explain the command-line usage of this program here.
149
149
  #
@@ -189,7 +189,17 @@
189
189
  :website => 'http://#{program_name}.rubyforge.org',
190
190
  :tagline => 'put a single line description of your project here',
191
191
  :require => {
192
- # TODO: list gems required by your project here.
192
+ # TODO: list gems required by your project during runtime here.
193
+ # NOTE: this is completely optional!
194
+ #
195
+ # example: if your project needs version 9.9.9 of the 'foo' gem:
196
+ # 'foo' => '9.9.9',
197
+ #
198
+ # example: if any version of a gem is acceptable then:
199
+ # 'foo' => nil,
200
+ },
201
+ :develop => {
202
+ # TODO: list gems required by your project during development here.
193
203
  # NOTE: this is completely optional!
194
204
  #
195
205
  # example: if your project needs version 9.9.9 of the 'foo' gem:
@@ -221,6 +231,7 @@
221
231
  }
222
232
 
223
233
  create "#{program_name}/doc/index.erb", %{
234
+
224
235
  % Inochi.book #{project_symbol.inspect}, self
225
236
 
226
237
  %+ "intro.erb"
@@ -228,19 +239,37 @@
228
239
  %+ "theory.erb"
229
240
  %+ "usage.erb"
230
241
  %+ "history.erb"
242
+
231
243
  }
232
244
 
233
245
  create "#{program_name}/doc/intro.erb", %{
246
+
234
247
  % api_url = './api/index.html'
235
- % repo_url = 'http://github.com/__________/' + $program
236
- % repo_scm = '[Git](http://git-scm.com)'
248
+ % src_url = "http://github.com/__________/\#{$program}"
249
+ % src_scm = '[Git](http://git-scm.com)'
250
+
237
251
 
238
252
  %|chapter "Introduction"
253
+
254
+
239
255
  %|project
256
+
240
257
  > TODO: explain the purpose of your project
241
258
 
242
259
  <%= $project %> is a __________ that __________.
243
260
 
261
+
262
+ * <%= xref "History", "What's new?" %> --- history of project releases.
263
+ * [Source code](<%= src_url %>) --- obtain via <%= src_scm %> or browse online.
264
+ * [API reference](<%= api_url %>) --- documentation for source code.
265
+ * [Project home](<%= $website %>) --- the <%= $project %> project home page.
266
+
267
+ To get help or provide feedback, simply
268
+ %= xref "License", "contact the author(s)."
269
+
270
+
271
+ %|section "Features"
272
+
244
273
  > TODO: explain why your project is important
245
274
 
246
275
  <%= $project %> is exciting because:
@@ -248,81 +277,46 @@
248
277
  * Its core contains less than __________ lines of code.
249
278
  * It __________.
250
279
 
251
- > TODO: explain why your project is better than its competitors
252
280
 
253
- These features distinguish <%= $project %> from the competition:
254
- * [competitor 1](http://)
255
- * [competitor 2](http://)
256
- * [competitor 3](http://)
281
+ %|section "Etymology"
257
282
 
258
- %|paragraph "Etymology"
259
283
  > TODO: explain the meaning of the name of your project
260
284
 
261
- %|section "Logistics"
262
- * <%= xref "History", "Release notes" %> --- history of project releases.
263
- * [Source code](<%= repo_url %>) --- obtain via <%= repo_scm %> or browse online.
264
- * [API reference](<%= api_url %>) --- documentation for source code.
265
- * [Project home](<%= $website %>) --- the <%= $project %> project home page.
266
-
267
- To get help or provide feedback, simply
268
- <%= xref "License", "contact the author(s)" %>.
269
-
270
- %|paragraph "Version numbers"
271
- <%= $project %> releases are numbered in *major.minor.patch*
272
- form according to the [RubyGems rational versioning
273
- policy](http://www.rubygems.org/read/chapter/7), which
274
- can be summarized thus:
275
-
276
- <table markdown="1">
277
- <thead>
278
- <tr>
279
- <td rowspan="2">What increased in the version number?</td>
280
- <td colspan="3">The increase indicates that the release:</td>
281
- </tr>
282
- <tr>
283
- <th>Is backward compatible?</th>
284
- <th>Has new features?</th>
285
- <th>Has bug fixes?</th>
286
- </tr>
287
- </thead>
288
- <tbody>
289
- <tr>
290
- <th>major</th>
291
- <td style="background-color: #FFE4E1;">No</td>
292
- <td>Yes</td>
293
- <td>Yes</td>
294
- </tr>
295
- <tr>
296
- <th>minor</th>
297
- <td>Yes</td>
298
- <td>Yes</td>
299
- <td>Yes</td>
300
- </tr>
301
- <tr>
302
- <th>patch</th>
303
- <td>Yes</td>
304
- <td style="background-color: #FFE4E1;">No</td>
305
- <td>Yes</td>
306
- </tr>
307
- </tbody>
308
- </table>
309
-
310
- %|paragraph "License"
311
- %< "../LICENSE"
285
+
286
+ %|section "License"
287
+
288
+ %< "../LICENSE"
289
+
312
290
 
313
291
  %|section "Credits"
292
+
314
293
  > TODO: give attribution to your predecessors and contributors
315
294
 
316
- <%= $project %> is made possible by
317
- <%= xref "History", "contributions" %>
295
+ %= $project
296
+ is made possible by
297
+ %= xref "History", "contributions"
318
298
  from users like you:
319
299
 
320
300
  %< "../CREDITS"
301
+
302
+
303
+ %|section "Related works"
304
+
305
+ > TODO: list other projects which are similar to yours
306
+
307
+ * [project 1](http://)
308
+ * [project 2](http://)
309
+ * [project 3](http://)
310
+
321
311
  }
322
312
 
323
313
  create "#{program_name}/doc/setup.erb", %{
314
+
324
315
  %|chapter "Setup"
316
+
317
+
325
318
  %|section "Requirements"
319
+
326
320
  Your system needs the following software to run <%= $project %>.
327
321
 
328
322
  | Software | Description | Notes |
@@ -330,7 +324,9 @@
330
324
  | [Ruby](http://ruby-lang.org) | Ruby language interpreter | Version #{RUBY_VERSION} has been tested successfully. |
331
325
  | [RubyGems](http://rubygems.org) | Ruby packaging system | Version #{Gem::RubyGemsVersion} or newer is required. |
332
326
 
327
+
333
328
  %|section "Installation"
329
+
334
330
  You can install <%= $project %> by running this command:
335
331
 
336
332
  gem install <%= $program %>
@@ -344,9 +340,12 @@
344
340
  <pre><%= verbatim `ruby bin/\#{$program} --version` %></pre>
345
341
 
346
342
  If you do not see such output, you may
347
- <%= xref "License", "ask the author(s)" %> for help.
343
+ %= xref "License", "ask the author(s)"
344
+ for help.
345
+
346
+
347
+ %|section "Package contents"
348
348
 
349
- %|section "Manifest"
350
349
  You will see the following items inside <%= $project %>'s installation
351
350
  directory, whose path you can determine by running this command:
352
351
 
@@ -377,16 +376,65 @@
377
376
  * <tt>LICENSE</tt> --- copyright notice and legal conditions.
378
377
 
379
378
  * <tt>CREDITS</tt> --- attribution of project contributors.
379
+
380
+
381
+ %|section "Version numbers"
382
+
383
+ <%= $project %> releases are numbered in *major.minor.patch*
384
+ form according to the [RubyGems rational versioning
385
+ policy](http://www.rubygems.org/read/chapter/7), which
386
+ can be summarized as follows:
387
+
388
+ <table markdown="1">
389
+ <thead>
390
+ <tr>
391
+ <td rowspan="2">What increased in the version number?</td>
392
+ <td colspan="3">The increase indicates that the release:</td>
393
+ </tr>
394
+ <tr>
395
+ <th>Is backward compatible?</th>
396
+ <th>Has new features?</th>
397
+ <th>Has bug fixes?</th>
398
+ </tr>
399
+ </thead>
400
+ <tbody>
401
+ <tr>
402
+ <th>major</th>
403
+ <td style="background-color: #FFE4E1;">No</td>
404
+ <td>Yes</td>
405
+ <td>Yes</td>
406
+ </tr>
407
+ <tr>
408
+ <th>minor</th>
409
+ <td>Yes</td>
410
+ <td>Yes</td>
411
+ <td>Yes</td>
412
+ </tr>
413
+ <tr>
414
+ <th>patch</th>
415
+ <td>Yes</td>
416
+ <td style="background-color: #FFE4E1;">No</td>
417
+ <td>Yes</td>
418
+ </tr>
419
+ </tbody>
420
+ </table>
421
+
380
422
  }
381
423
 
382
424
  create "#{program_name}/doc/theory.erb", %{
425
+
383
426
  %|chapter "Theory of operation"
427
+
384
428
  > TODO: explain how your project does what it does
385
429
  }
386
430
 
387
431
  create "#{program_name}/doc/usage.erb", %{
432
+
388
433
  %|chapter "Usage"
434
+
435
+
389
436
  %|section "Command-line interface"
437
+
390
438
  When you run this command:
391
439
 
392
440
  <%= $program %> --help
@@ -397,32 +445,48 @@
397
445
 
398
446
  > TODO: explain the command-line arguments
399
447
 
448
+
400
449
  %|section "Ruby library interface"
450
+
401
451
  > TODO: explain how to use your project's Ruby library
402
452
  > from inside another Ruby program or library
403
453
 
404
- %|section "Tutorial"
405
- This tutorial shows how <%= $project %> is used to __________.
454
+
455
+ %|section "General walkthrough"
456
+
457
+ This tutorial walks you through the typical usage of <%= $project %>.
406
458
 
407
459
  > TODO: give examples for doing common tasks
408
460
 
409
- > TODO: explain how to do more (advanced) things
461
+
462
+ %|section "Specific topics"
463
+
464
+ > TODO: explain how to do more advanced / specific things
465
+
410
466
  }
411
467
 
412
468
  create "#{program_name}/doc/history.erb", %{
469
+
413
470
  %|chapter "History"
471
+
414
472
  > TODO: put a brief history about your project here
415
473
 
474
+
416
475
  %|history
476
+
417
477
  > TODO: put release notes for your project
418
478
  > here -- newest first, oldest last.
419
479
 
480
+
420
481
  %|section "Version #{project_version} (#{project_release})"
482
+
421
483
  > TODO: write a short summary of the changes in this release
422
484
 
423
485
  This release changes __________, adds __________, and fixes __________.
424
486
 
487
+
425
488
  %|paragraph "Thank you"
489
+
426
490
  > TODO: list everyone who contributed to this release
427
491
 
428
492
  * __________ contributed __________
@@ -431,7 +495,9 @@
431
495
 
432
496
  * __________ helped to __________
433
497
 
498
+
434
499
  %|paragraph "Incompatible changes"
500
+
435
501
  > TODO: list all backward-incompatible changes in this release
436
502
 
437
503
  * __________ has been __________ to __________ ---contributor name
@@ -440,7 +506,9 @@
440
506
 
441
507
  * __________ ---contributor name
442
508
 
509
+
443
510
  %|paragraph "New features"
511
+
444
512
  > TODO: list new features added in this release
445
513
 
446
514
  * __________ ---contributor name
@@ -449,7 +517,9 @@
449
517
 
450
518
  * __________ ---contributor name
451
519
 
520
+
452
521
  %|paragraph "Bug fixes"
522
+
453
523
  > TODO: describe all bugs that are fixed in this release
454
524
 
455
525
  * __________ was __________ ---contributor name
@@ -458,7 +528,9 @@
458
528
 
459
529
  * __________ did __________ ---contributor name
460
530
 
531
+
461
532
  %|paragraph "Housekeeping"
533
+
462
534
  > TODO: list the refactorings, clean ups, and other
463
535
  > improvements that were done for this release
464
536
 
@@ -467,4 +539,5 @@
467
539
  * __________ ---contributor name
468
540
 
469
541
  * __________ ---contributor name
542
+
470
543
  }
@@ -125,7 +125,7 @@ from this list.
125
125
  <p class="source-link">
126
126
  Source: <a href="javascript:toggleSource('M000002_source')" id="l_M000002_source">show</a>
127
127
 
128
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L70" target="_blank" class="github_url">on GitHub</a>
128
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L70" target="_blank" class="github_url">on GitHub</a>
129
129
 
130
130
  </p>
131
131
  <div id="M000002_source" class="dyn-source">
@@ -165,7 +165,7 @@ Returns all possible combinations of all possible lengths.
165
165
  <p class="source-link">
166
166
  Source: <a href="javascript:toggleSource('M000003_source')" id="l_M000003_source">show</a>
167
167
 
168
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L84" target="_blank" class="github_url">on GitHub</a>
168
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L84" target="_blank" class="github_url">on GitHub</a>
169
169
 
170
170
  </p>
171
171
  <div id="M000003_source" class="dyn-source">
@@ -209,7 +209,7 @@ from this list.
209
209
  <p class="source-link">
210
210
  Source: <a href="javascript:toggleSource('M000000_source')" id="l_M000000_source">show</a>
211
211
 
212
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L20" target="_blank" class="github_url">on GitHub</a>
212
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L20" target="_blank" class="github_url">on GitHub</a>
213
213
 
214
214
  </p>
215
215
  <div id="M000000_source" class="dyn-source">
@@ -267,7 +267,7 @@ Returns all possible enumerations of all possible lengths.
267
267
  <p class="source-link">
268
268
  Source: <a href="javascript:toggleSource('M000001_source')" id="l_M000001_source">show</a>
269
269
 
270
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L52" target="_blank" class="github_url">on GitHub</a>
270
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L52" target="_blank" class="github_url">on GitHub</a>
271
271
 
272
272
  </p>
273
273
  <div id="M000001_source" class="dyn-source">
@@ -311,7 +311,7 @@ from this list.
311
311
  <p class="source-link">
312
312
  Source: <a href="javascript:toggleSource('M000004_source')" id="l_M000004_source">show</a>
313
313
 
314
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L102" target="_blank" class="github_url">on GitHub</a>
314
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L102" target="_blank" class="github_url">on GitHub</a>
315
315
 
316
316
  </p>
317
317
  <div id="M000004_source" class="dyn-source">
@@ -351,7 +351,7 @@ Returns all possible permutations of all possible lengths.
351
351
  <p class="source-link">
352
352
  Source: <a href="javascript:toggleSource('M000005_source')" id="l_M000005_source">show</a>
353
353
 
354
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/util/combo.rb#L116" target="_blank" class="github_url">on GitHub</a>
354
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util/combo.rb#L116" target="_blank" class="github_url">on GitHub</a>
355
355
 
356
356
  </p>
357
357
  <div id="M000005_source" class="dyn-source">
@@ -91,7 +91,7 @@ Writes the given content to the given file.
91
91
  <p class="source-link">
92
92
  Source: <a href="javascript:toggleSource('M000021_source')" id="l_M000021_source">show</a>
93
93
 
94
- | <a href="http://github.com/sunaku/inochi/blob/61f28653cea6fab1bfd8cffb07a666c236b243be/lib/inochi/util.rb#L96" target="_blank" class="github_url">on GitHub</a>
94
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/util.rb#L96" target="_blank" class="github_url">on GitHub</a>
95
95
 
96
96
  </p>
97
97
  <div id="M000021_source" class="dyn-source">
@@ -171,7 +171,7 @@ project.
171
171
  <p class="source-link">
172
172
  Source: <a href="javascript:toggleSource('M000011_source')" id="l_M000011_source">show</a>
173
173
 
174
- | <a href="http://github.com/sunaku/inochi/blob/5f65225f952717327ab0d21f371307dcd335f34c/lib/inochi/book.rb#L42" target="_blank" class="github_url">on GitHub</a>
174
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/book.rb#L42" target="_blank" class="github_url">on GitHub</a>
175
175
 
176
176
  </p>
177
177
  <div id="M000011_source" class="dyn-source">
@@ -350,7 +350,7 @@ The newly configured project module.
350
350
  <p class="source-link">
351
351
  Source: <a href="javascript:toggleSource('M000022_source')" id="l_M000022_source">show</a>
352
352
 
353
- | <a href="http://github.com/sunaku/inochi/blob/61f28653cea6fab1bfd8cffb07a666c236b243be/lib/inochi/init.rb#L107" target="_blank" class="github_url">on GitHub</a>
353
+ | <a href="http://github.com/sunaku/inochi/blob/94ea085869f0eab9b04917d057bdae5b64157781/lib/inochi/init.rb#L107" target="_blank" class="github_url">on GitHub</a>
354
354
 
355
355
  </p>
356
356
  <div id="M000022_source" class="dyn-source">
@@ -462,7 +462,7 @@ Returns the result of Trollop::options().
462
462
  <p class="source-link">
463
463
  Source: <a href="javascript:toggleSource('M000010_source')" id="l_M000010_source">show</a>
464
464
 
465
- | <a href="http://github.com/sunaku/inochi/blob/766b14740d2fffe75a0e4a11fd807c391e1f0c66/lib/inochi/main.rb#L36" target="_blank" class="github_url">on GitHub</a>
465
+ | <a href="http://github.com/sunaku/inochi/blob/c7a54935a163d0b7a35beac0f54ed38c29c3e358/lib/inochi/main.rb#L36" target="_blank" class="github_url">on GitHub</a>
466
466
 
467
467
  </p>
468
468
  <div id="M000010_source" class="dyn-source">
@@ -505,7 +505,7 @@ Returns the result of Trollop::options().
505
505
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:manual</span>]
506
506
  <span class="ruby-identifier">require</span> <span class="ruby-value str">'launchy'</span>
507
507
 
508
- <span class="ruby-identifier">manual</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">INSTALL</span>, <span class="ruby-value str">'doc'</span>, <span class="ruby-value str">'index.xhtml'</span>)
508
+ <span class="ruby-identifier">manual</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">INSTALL</span>, <span class="ruby-value str">'doc'</span>, <span class="ruby-value str">'index.html'</span>)
509
509
  <span class="ruby-constant">Launchy</span><span class="ruby-operator">::</span><span class="ruby-constant">Browser</span>.<span class="ruby-identifier">run</span> <span class="ruby-identifier">manual</span>
510
510
 
511
511
  <span class="ruby-identifier">exit</span>
@@ -668,7 +668,7 @@ configuration.
668
668
  <p class="source-link">
669
669
  Source: <a href="javascript:toggleSource('M000014_source')" id="l_M000014_source">show</a>
670
670
 
671
- | <a href="http://github.com/sunaku/inochi/blob/bb5ea888e45c928e0318cfbef999ce7f41994411/lib/inochi/rake.rb#L110" target="_blank" class="github_url">on GitHub</a>
671
+ | <a href="http://github.com/sunaku/inochi/blob/c7a54935a163d0b7a35beac0f54ed38c29c3e358/lib/inochi/rake.rb#L110" target="_blank" class="github_url">on GitHub</a>
672
672
 
673
673
  </p>
674
674
  <div id="M000014_source" class="dyn-source">
@@ -730,9 +730,7 @@ configuration.
730
730
  <span class="ruby-identifier">lang_dump_file</span> = <span class="ruby-value str">'lang/phrases.yaml'</span>
731
731
 
732
732
  <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Extract language phrases for translation.'</span>
733
- <span class="ruby-identifier">task</span> <span class="ruby-value str">'lang:dump'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lang_dump_file</span>
734
-
735
- <span class="ruby-identifier">file</span> <span class="ruby-identifier">lang_dump_file</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lang_dump_deps</span> <span class="ruby-keyword kw">do</span>
733
+ <span class="ruby-identifier">task</span> <span class="ruby-value str">'lang:dump'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">lang_dump_deps</span> <span class="ruby-keyword kw">do</span>
736
734
  <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'dump_lang_phrases'</span>] = <span class="ruby-value str">'1'</span>
737
735
  <span class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span class="ruby-constant">Task</span>[<span class="ruby-identifier">:test</span>].<span class="ruby-identifier">invoke</span>
738
736
  <span class="ruby-keyword kw">end</span>
@@ -910,7 +908,7 @@ configuration.
910
908
 
911
909
  <span class="ruby-comment cmt"># user manual</span>
912
910
  <span class="ruby-identifier">doc_man_src</span> = <span class="ruby-value str">'doc/index.erb'</span>
913
- <span class="ruby-identifier">doc_man_dst</span> = <span class="ruby-value str">'doc/index.xhtml'</span>
911
+ <span class="ruby-identifier">doc_man_dst</span> = <span class="ruby-value str">'doc/index.html'</span>
914
912
  <span class="ruby-identifier">doc_man_deps</span> = <span class="ruby-constant">FileList</span>[<span class="ruby-value str">'doc/*.erb'</span>]
915
913
 
916
914
  <span class="ruby-identifier">doc_man_doc</span> = <span class="ruby-keyword kw">nil</span>
@@ -941,16 +939,15 @@ configuration.
941
939
 
942
940
  <span class="ruby-identifier">namespace</span> <span class="ruby-identifier">:doc</span> <span class="ruby-keyword kw">do</span>
943
941
  <span class="ruby-identifier">namespace</span> <span class="ruby-identifier">:api</span> <span class="ruby-keyword kw">do</span>
944
- <span class="ruby-identifier">require</span> <span class="ruby-value str">'sdoc'</span>
945
942
  <span class="ruby-identifier">require</span> <span class="ruby-value str">'rake/rdoctask'</span>
946
943
 
947
944
  <span class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span class="ruby-constant">RDocTask</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
948
945
  <span class="ruby-identifier">t</span>.<span class="ruby-identifier">rdoc_dir</span> = <span class="ruby-identifier">doc_api_dst</span>
949
946
  <span class="ruby-identifier">t</span>.<span class="ruby-identifier">template</span> = <span class="ruby-value str">'direct'</span> <span class="ruby-comment cmt"># lighter template used on railsapi.com</span>
950
- <span class="ruby-identifier">t</span>.<span class="ruby-identifier">options</span>.<span class="ruby-identifier">push</span> <span class="ruby-value str">'--fmt'</span>, <span class="ruby-value str">'shtml'</span> <span class="ruby-comment cmt"># explictly set shtml generator</span>
951
- <span class="ruby-identifier">t</span>.<span class="ruby-identifier">rdoc_files</span>.<span class="ruby-identifier">include</span> <span class="ruby-value str">'[A-Z]*'</span>, <span class="ruby-value str">'lib/**/*.rb'</span>, <span class="ruby-value str">'ext/**/*.{rb,c*}'</span>
947
+ <span class="ruby-identifier">t</span>.<span class="ruby-identifier">options</span>.<span class="ruby-identifier">push</span> <span class="ruby-value str">'--fmt'</span>, <span class="ruby-value str">'shtml'</span> <span class="ruby-comment cmt"># explictly set SDoc generator</span>
948
+ <span class="ruby-identifier">t</span>.<span class="ruby-identifier">rdoc_files</span>.<span class="ruby-identifier">include</span> <span class="ruby-value str">'[A-Z]*'</span>, <span class="ruby-value str">'{lib,ext}/**/*.{rb,c}'</span>
952
949
 
953
- <span class="ruby-comment cmt"># regen when sources change</span>
950
+ <span class="ruby-comment cmt"># regenerate API reference when sources change</span>
954
951
  <span class="ruby-identifier">task</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">t</span>.<span class="ruby-identifier">rdoc_files</span>
955
952
 
956
953
  <span class="ruby-identifier">t</span>.<span class="ruby-identifier">main</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:license_file</span>]
@@ -1056,7 +1053,7 @@ configuration.
1056
1053
  &lt;p&gt;#{project_module::WEBSITE}&lt;/p&gt;
1057
1054
  &lt;/center&gt;
1058
1055
  #{ann_nfo_doc}
1059
- #{ann_rel_doc}
1056
+ #{ann_rel_doc.to_s.sub ann_rel_doc.parent_tabs_begin, '&lt;div&gt;'}
1060
1057
  }</span>
1061
1058
 
1062
1059
  <span class="ruby-comment cmt"># remove heading navigation menus</span>
@@ -1071,9 +1068,7 @@ configuration.
1071
1068
 
1072
1069
  <span class="ruby-identifier">ann_text</span> = <span class="ruby-keyword kw">nil</span>
1073
1070
  <span class="ruby-identifier">task</span> <span class="ruby-identifier">:ann_text</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:ann_html</span> <span class="ruby-keyword kw">do</span>
1074
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">ann_text</span>
1075
- <span class="ruby-identifier">ann_text</span> = <span class="ruby-identifier">convert_html_to_text</span>[<span class="ruby-identifier">ann_html</span>]
1076
- <span class="ruby-keyword kw">end</span>
1071
+ <span class="ruby-identifier">ann_text</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">convert_html_to_text</span>[<span class="ruby-identifier">ann_html</span>]
1077
1072
  <span class="ruby-keyword kw">end</span>
1078
1073
 
1079
1074
  <span class="ruby-identifier">ann_nfo_text</span> = <span class="ruby-keyword kw">nil</span>
@@ -1163,15 +1158,11 @@ configuration.
1163
1158
  <span class="ruby-constant">CLEAN</span>.<span class="ruby-identifier">include</span> <span class="ruby-identifier">ann_mail_dst</span>
1164
1159
 
1165
1160
  <span class="ruby-comment cmt"># packaging</span>
1166
- <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Build a release.'</span>
1167
- <span class="ruby-identifier">task</span> <span class="ruby-identifier">:gem</span> =<span class="ruby-operator">&gt;</span> [<span class="ruby-identifier">:clobber</span>, <span class="ruby-identifier">:doc</span>] <span class="ruby-keyword kw">do</span>
1168
- <span class="ruby-identifier">sh</span> <span class="ruby-identifier">$0</span>, <span class="ruby-value str">'gem:package'</span>
1169
- <span class="ruby-keyword kw">end</span>
1170
- <span class="ruby-constant">CLEAN</span>.<span class="ruby-identifier">include</span> <span class="ruby-value str">'pkg'</span>
1171
-
1172
- <span class="ruby-comment cmt"># ruby gem</span>
1173
- <span class="ruby-identifier">require</span> <span class="ruby-value str">'rake/gempackagetask'</span>
1161
+ <span class="ruby-identifier">directory</span> <span class="ruby-value str">'pkg'</span>
1162
+ <span class="ruby-constant">CLOBBER</span>.<span class="ruby-identifier">include</span> <span class="ruby-value str">'pkg'</span>
1174
1163
 
1164
+ <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Build a release.'</span>
1165
+ <span class="ruby-identifier">task</span> <span class="ruby-identifier">:gem</span> =<span class="ruby-operator">&gt;</span> [<span class="ruby-identifier">:doc</span>, <span class="ruby-identifier">:ann_text</span>, <span class="ruby-value str">'pkg'</span>] <span class="ruby-keyword kw">do</span>
1175
1166
  <span class="ruby-identifier">gem_spec</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">gem</span><span class="ruby-operator">|</span>
1176
1167
  <span class="ruby-identifier">authors</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">AUTHORS</span>
1177
1168
 
@@ -1200,10 +1191,10 @@ configuration.
1200
1191
  <span class="ruby-comment cmt"># For example, consider the &quot;RedCloth&quot; gem.</span>
1201
1192
  <span class="ruby-comment cmt">#</span>
1202
1193
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">PROGRAM</span>
1203
-
1194
+ <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">date</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">RELEASE</span>
1204
1195
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">version</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">VERSION</span>
1205
1196
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">summary</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">TAGLINE</span>
1206
- <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">description</span> = <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">summary</span>
1197
+ <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">description</span> = <span class="ruby-identifier">ann_text</span>
1207
1198
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">homepage</span> = <span class="ruby-identifier">project_module</span><span class="ruby-operator">::</span><span class="ruby-constant">WEBSITE</span>
1208
1199
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">files</span> = <span class="ruby-constant">FileList</span>[<span class="ruby-value str">'**/*'</span>].<span class="ruby-identifier">exclude</span>(<span class="ruby-value str">'_darcs'</span>) <span class="ruby-operator">-</span> <span class="ruby-constant">CLEAN</span>
1209
1200
  <span class="ruby-identifier">gem</span>.<span class="ruby-identifier">has_rdoc</span> = <span class="ruby-keyword kw">true</span>
@@ -1233,18 +1224,11 @@ configuration.
1233
1224
  <span class="ruby-keyword kw">end</span>
1234
1225
 
1235
1226
  <span class="ruby-comment cmt"># additional configuration is done by user</span>
1236
- <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">gem</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gem_config</span>
1237
- <span class="ruby-keyword kw">end</span>
1238
-
1239
- <span class="ruby-identifier">namespace</span> <span class="ruby-identifier">:gem</span> <span class="ruby-keyword kw">do</span>
1240
- <span class="ruby-constant">Rake</span><span class="ruby-operator">::</span><span class="ruby-constant">GemPackageTask</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">gem_spec</span>).<span class="ruby-identifier">define</span>
1241
-
1242
- <span class="ruby-node">%w[gem package repackage clobber_package]</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
1243
- <span class="ruby-identifier">hide_rake_task</span>.<span class="ruby-identifier">call</span> <span class="ruby-node">&quot;gem:#{t}&quot;</span>
1244
- <span class="ruby-keyword kw">end</span>
1227
+ <span class="ruby-identifier">gem_config</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">gem</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gem_config</span>
1245
1228
  <span class="ruby-keyword kw">end</span>
1246
1229
 
1247
- <span class="ruby-identifier">task</span> <span class="ruby-identifier">:clobber</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;gem:clobber_package&quot;</span>
1230
+ <span class="ruby-identifier">mv</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Builder</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">gem_spec</span>).<span class="ruby-identifier">build</span>, <span class="ruby-value str">'pkg'</span>
1231
+ <span class="ruby-keyword kw">end</span>
1248
1232
 
1249
1233
  <span class="ruby-comment cmt"># releasing</span>
1250
1234
  <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Publish a release.'</span>
@@ -1314,7 +1298,7 @@ configuration.
1314
1298
 
1315
1299
  <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Announce to RubyForge news.'</span>
1316
1300
  <span class="ruby-identifier">task</span> <span class="ruby-value str">'pub:ann:forge'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:pub_forge</span> <span class="ruby-keyword kw">do</span>
1317
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">'Announcing to RubyForge news...'</span>
1301
+ <span class="ruby-identifier">puts</span> <span class="ruby-value str">''</span>, <span class="ruby-value str">'Announcing to RubyForge news...'</span>
1318
1302
 
1319
1303
  <span class="ruby-identifier">project</span> = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:rubyforge_project</span>]
1320
1304
 
@@ -1344,7 +1328,7 @@ configuration.
1344
1328
 
1345
1329
  <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Announce to ruby-talk mailing list.'</span>
1346
1330
  <span class="ruby-identifier">task</span> <span class="ruby-value str">'pub:ann:talk'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:ann_logins</span> <span class="ruby-keyword kw">do</span>
1347
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">'Announcing to ruby-talk mailing list...'</span>
1331
+ <span class="ruby-identifier">puts</span> <span class="ruby-value str">''</span>, <span class="ruby-value str">'Announcing to ruby-talk mailing list...'</span>
1348
1332
 
1349
1333
  <span class="ruby-identifier">host</span> = <span class="ruby-value str">'http://ruby-forum.com'</span>
1350
1334
  <span class="ruby-identifier">ruby_talk</span> = <span class="ruby-value">4</span> <span class="ruby-comment cmt"># ruby-talk forum ID</span>
@@ -1406,7 +1390,7 @@ configuration.
1406
1390
 
1407
1391
  <span class="ruby-identifier">desc</span> <span class="ruby-value str">'Announce to RAA (Ruby Application Archive).'</span>
1408
1392
  <span class="ruby-identifier">task</span> <span class="ruby-value str">'pub:ann:raa'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">:ann_logins</span> <span class="ruby-keyword kw">do</span>
1409
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">'Announcing to RAA (Ruby Application Archive)...'</span>
1393
+ <span class="ruby-identifier">puts</span> <span class="ruby-value str">''</span>, <span class="ruby-value str">'Announcing to RAA (Ruby Application Archive)...'</span>
1410
1394
 
1411
1395
  <span class="ruby-identifier">show_page_error</span> = <span class="ruby-identifier">lambda</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">page</span>, <span class="ruby-identifier">message</span><span class="ruby-operator">|</span>
1412
1396
  <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;#{message}, so I can NOT announce this release to RAA:&quot;</span>