lib/reap/task/rdoc.rb in reap-4.3.4 vs lib/reap/task/rdoc.rb in reap-4.4.0
- old
+ new
@@ -6,16 +6,29 @@
# | / _` / _ \/ _| | |/ _` (_-< / /
# |_|_\__,_\___/\__| |_|\__,_/__/_\_\
#
# = RDoc Task
+#
+# This task generates RDoc API documentation trom source
+# comments.
+#
+# rdoc:
+# dir Directory to store documentation [doc].
+# main File to use as main page of RDocs.
+# title Project title to use in RDocs.
+# template Which RDoc template to use.
+# include Files to include in RDocs.
+# exclude Files to exclude from those.
+# options Pass-thru extra options to RDoc command.
+#
class Reap::RDoc < Reap::Task
MUST_EXCLUDE = [ 'InstalledFiles', 'CVS/**/*' ]
- task_desc "Generate RDocs."
+ task_desc "Generate RDoc API documentation."
task_help %{
reap rdoc
@@ -29,48 +42,47 @@
exclude Files to exclude from those.
options Pass-thru extra options to RDoc command.
}
- task_attr :doc
+ alias_method :doc, :task
- # Setup documentation task.
+ def run
- def init
+ # setup
+
doc.dir ||= 'doc'
doc.main ||= 'README'
doc.title ||= master.title
doc.template ||= 'html' # 'jamis'
doc.include ||= [ 'A-Z*', 'lib/**/*', 'ext/**/*' ]
doc.exclude ||= [ 'demo/**/*', 'example/**/*', 'sample/**/*' ]
doc.options ||= ['--merge', '--all']
- end
- # Run the Ruby documentation task.
+ doc.include = [ doc.include ].flatten
+ doc.exclude = [ doc.exclude ].flatten
+ doc.options = [ doc.options ].flatten
- def run
- #must_exclude = [ 'InstalledFiles', 'CVS/**/*' ]
+ # document
if !File.exists?(doc.main) or File.directory?(doc.main)
warn "WARNING! Specified RDoc Main file #{doc.main} not found."
doc.main = nil
end
rdoc_dir = File.expand_path(doc.dir)
if FileTest.directory?(doc.dir)
- print "Directory '#{doc.dir}' already exists. Clobber? [y/N] "
- until inp = $stdin.gets[0,1] ; sleep 1 ; end ; puts
- if (inp || 'y').downcase == 'y'
- puts "Removing old directory '#{rdoc_dir}'..."
- #FileUtils.mkdir_p(".trash") unless FileTest.directory?(".trash")
- #trashdir = ".trash/#{File.basename(doc.dir)}"
- #FileUtils.rm_r(trashdir) if FileTest.exists?(trashdir)
- #FileUtils.mv(doc.dir, trashdir)
+ q = "Directory '#{doc.dir}' already exists. Clobber?"
+ #until inp = $stdin.gets[0,1] ; sleep 1 ; end ; puts
+ inp = ask( q, 'yN' )
+ case inp.downcase
+ when 'y', 'yes', 'okay'
+ tell "Removing old directory '#{rdoc_dir}'..."
FileUtils.rm_r(doc.dir) unless $PRETEND
else
- puts "Reap rdoc task canceled."
+ tell "Reap rdoc task canceled."
return nil
end
end
rdoc_target = "#{rdoc_dir}/index.html"
@@ -97,10 +109,10 @@
build << "--title '#{doc.title}'" if doc.title
build << "-T '#{doc.template}'" if doc.template
rdoc_opts = build.join(' ')
# do it!
- puts "Reap is shelling work out to RDoc..."
+ tell "Reap is shelling work out to RDoc..."
sh %{rdoc -o #{rdoc_dir} #{rdoc_opts} #{rdoc_files}}
end
end