diff --git a/lib/docs/filters/padrino/entries.rb b/lib/docs/filters/padrino/entries.rb index 59f085c2..4d33b926 100644 --- a/lib/docs/filters/padrino/entries.rb +++ b/lib/docs/filters/padrino/entries.rb @@ -12,6 +12,24 @@ module Docs type.remove! %r{#.+\z} type.split('::')[0..2].join('::') end + + def additional_entries + return [] if root_page? + require 'cgi' + + css('.summary_signature').inject [] do |entries, node| + + name = node.children[1].attributes['title'].value + name = CGI.unescape(name) + + unless name.start_with?('_') + name.prepend self.name + entries << [name, self.name.gsub('::','/').downcase.strip + node.children[1].attributes['href'].value.slice(/\#.*/)] unless entries.any? { |entry| entry[0] == name } + end + + entries + end + end end end end