From: Vincent Fourmond Date: 2006-05-28T02:49:21+09:00 Subject: RDoc --force flag --Boundary_(ID_NIpr4PPXa+5P2bHykBgL/g) Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7BIT 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. --Boundary_(ID_NIpr4PPXa+5P2bHykBgL/g) Content-type: text/plain; name=rdoc_force_flag.diff Content-transfer-encoding: 7BIT Content-disposition: inline; filename=rdoc_force_flag.diff 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 "'#{op_dir}' exists, and is not a directory" end - unless File.file?(flag_file) + unless File.file?(flag_file) or force error "\nDirectory #{op_dir} 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) --Boundary_(ID_NIpr4PPXa+5P2bHykBgL/g)--