aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rdoc/any_method.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rdoc/any_method.rb')
-rw-r--r--lib/rdoc/any_method.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/rdoc/any_method.rb b/lib/rdoc/any_method.rb
index 3afafc86b8..ae022d72f8 100644
--- a/lib/rdoc/any_method.rb
+++ b/lib/rdoc/any_method.rb
@@ -240,7 +240,15 @@ class RDoc::AnyMethod < RDoc::MethodAttr
return []
end
- params = params.gsub(/\s+/, '').split ','
+ if @block_params then
+ # If this method has explicit block parameters, remove any explicit
+ # &block
+ params.sub!(/,?\s*&\w+/, '')
+ else
+ params.sub!(/\&(\w+)/, '\1')
+ end
+
+ params = params.gsub(/\s+/, '').split(',').reject(&:empty?)
params.map { |param| param.sub(/=.*/, '') }
end