aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rdoc/parser.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rdoc/parser.rb')
-rw-r--r--lib/rdoc/parser.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/rdoc/parser.rb b/lib/rdoc/parser.rb
index a5c7de663f..01e24e5d4b 100644
--- a/lib/rdoc/parser.rb
+++ b/lib/rdoc/parser.rb
@@ -73,10 +73,10 @@ class RDoc::Parser
true
elsif file =~ /erb\.rb$/ then
false
- elsif s.scan(/<%|%>/).length >= 4 then
+ elsif s.scan(/<%|%>/).length >= 4 || s.index("\x00") then
true
else
- s.count("^ -~\t\r\n").fdiv(s.size) > 0.3 || s.index("\x00")
+ s.count("^ -~\t\r\n").fdiv(s.size) > 0.3
end
end
@@ -102,7 +102,9 @@ class RDoc::Parser
return if parser == RDoc::Parser::Simple and zip? file_name
# The default parser must not parse binary files
- return if parser == RDoc::Parser::Simple and file_name !~ /\.(txt|rdoc)$/
+ ext_name = File.extname file_name
+ return parser if ext_name.empty?
+ return if parser == RDoc::Parser::Simple and ext_name !~ /txt|rdoc/
parser
end