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