summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-04 05:03:00 +0000
committerdave <dave@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-04 05:03:00 +0000
commit440c26186cf2fe90b9170429f1e33c63c324f4c3 (patch)
tree1505c6664cbb1473e6818577e783e2823b7669b0
parent45edb83b9a375eeefb1fc1f13e93a302fc35e8e0 (diff)
Allow multiple --exclude options to RDoc
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--lib/rdoc/options.rb10
-rw-r--r--lib/rdoc/rdoc.rb2
3 files changed, 14 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index a9358aa2f2..35d0579dca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Apr 4 14:01:20 2004 Dave Thomas <dave@pragprog.com>
+
+ * lib/rdoc/options.rb (Options::parse): Allow multiple -x options to RDoc.
+ Fix bug where files weren't being excluded properly
+
Sat Apr 3 09:36:38 2004 why the lucky stiff <why@ruby-lang.org>
* ext/syck/syck.h: version 0.43.
diff --git a/lib/rdoc/options.rb b/lib/rdoc/options.rb
index 0d99a5438e..62c6dabff0 100644
--- a/lib/rdoc/options.rb
+++ b/lib/rdoc/options.rb
@@ -346,7 +346,7 @@ class Options
@show_all = false
@main_page = nil
@marge = false
- @exclude = nil
+ @exclude = []
@quiet = false
@generator_name = 'html'
@generator = generators[@generator_name]
@@ -386,7 +386,7 @@ class Options
when "--all" then @show_all = true
when "--charset" then @charset = arg
when "--debug" then $DEBUG = true
- when "--exclude" then @exclude = Regexp.new(arg)
+ when "--exclude" then @exclude << Regexp.new(arg)
when "--inline-source" then @inline_source = true
when "--line-numbers" then @include_line_numbers = true
when "--main" then @main_page = arg
@@ -473,6 +473,12 @@ class Options
@rdoc_include << "." if @rdoc_include.empty?
+ if @exclude.empty?
+ @exclude = nil
+ else
+ @exclude = Regexp.new(@exclude.join("|"))
+ end
+
check_files
# If no template was specified, use the default
diff --git a/lib/rdoc/rdoc.rb b/lib/rdoc/rdoc.rb
index 5f477f7fea..d55a40466a 100644
--- a/lib/rdoc/rdoc.rb
+++ b/lib/rdoc/rdoc.rb
@@ -163,12 +163,12 @@ module RDoc
file_list = []
relative_files.each do |rel_file_name|
+ next if options.exclude && options.exclude =~ rel_file_name
case type = File.stat(rel_file_name).ftype
when "file"
file_list << rel_file_name if force_doc || ParserFactory.can_parse(rel_file_name)
when "directory"
next if rel_file_name == "CVS" || rel_file_name == ".svn"
- next if options.exclude && options.exclude =~ rel_file_name
dot_doc = File.join(rel_file_name, DOT_DOC_FILENAME)
if File.file?(dot_doc)
file_list.concat(parse_dot_doc_file(rel_file_name, dot_doc, options))