diff options
Diffstat (limited to 'lib/rdoc/any_method.rb')
-rw-r--r-- | lib/rdoc/any_method.rb | 10 |
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 |