List Info

Thread: RDoc --force flag




RDoc --force flag
user name
2006-05-27 17:49:21
  Hello !

  I did propose a small modification for rdoc on the
ruby-doc list, and
I got redirected here. Thanks for considering it !

    Vincent Fourmond

>   I use a lot rdoc, and I sometimes want to have an
image/ subdirectory
> in the output directory, to store images in a
consistent way. However,
> if I create a permanent doc/image/ directory, rdoc
doesn't want to
> output anything. I know the workaround is just to add a
doc/created.rid
> file, but at the same time, it would be great to simply
say
> 
>   rdoc --force
> 
>   and have it work.
> 
>   I join a patch that does that, I just hope I'm
sending it to the right
> place.


diff -Naur rdoc.old/options.rb rdoc.new/options.rb
--- rdoc.old/options.rb	2006-05-27 12:25:21.000000000 +0200
+++ rdoc.new/options.rb	2006-05-27 12:29:34.000000000 +0200
 -22,6
+22,9 
   # include private and protected methods in the
   # output
   attr_accessor :show_all
+
+  # If set, ignores the "already existing dir"
error
+  attr_accessor :force_dir_overwrite
   
   # name of the file, class or module to display in
   # the initial index page (if not specified
 -137,6
+140,11 
       [ "--fmt",           "-f",  
"format name",
         "set the output formatter (see below)"
],
 
+      [ "--force",         "-!",  
nil,
+        "forces to write the output, even if the
\n" +
+        "directory doesn't look like it has been
\n" +
+        "produced by rdoc. Use with caution !"
],
+
       [ "--help",          "-h",  
nil,
         "you're looking at it" ],
 
 -396,6
+404,7 
         when "--opname"        then op_name  
    = arg
         when "--promiscuous"   then promiscuous   = true
         when "--quiet"         then quiet    
    = true
+        when "--force"         then force_dir_overwrite = true
         when "--show-hash"     then show_hash
    = true
         when "--style"         then css      
    = arg
         when "--template"      then template 
    = arg
diff -Naur rdoc.old/rdoc.rb rdoc.new/rdoc.rb
--- rdoc.old/rdoc.rb	2006-05-27 12:25:21.000000000 +0200
+++ rdoc.new/rdoc.rb	2006-05-27 12:24:44.000000000 +0200
 -104,13
+104,13 
     # then we refuse to use it, as we may clobber some
     # manually generated documentation
     
-    def setup_output_dir(op_dir)
+    def setup_output_dir(op_dir, force = false )
       flag_file = File.join(op_dir,
"created.rid")
       if File.exist?(op_dir)
         unless File.directory?(op_dir)
           error "'#' exists, and is not a
directory" 
         end
-        unless File.file?(flag_file)
+        unless File.file?(flag_file) or force
           error "\nDirectory # already
exists, but it looks like it\n" +
             "isn't an RDoc directory. Because RDoc
doesn't want to risk\n" +
             "destroying any of your existing files,
you'll need to\n" +
 -238,7
+238,7 
       options.parse(argv, GENERATORS)
     
       unless options.all_one_file
-        setup_output_dir(options.op_dir)
+        setup_output_dir(options.op_dir,
options.force_dir_overwrite)
       end
 
       file_info = parse_files(options)

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )