<% @title = "#{@entry.type} #{@entry.name}" @description = @entry.description @edit_url = edit_url(@entry.source_location) if @conf[:edit_base_url] && @entry.source_location %> <% if @conf[:canonical_base_url] %> <% end %>
<% headline_init %> <%= headline("#{@entry.type} #{@entry.name}" + @entry.ancestors[1..@alevel].map{|c| " + #{c.name}" }.join, edit_url: @edit_url) %>
<% myself, *supers = @entry.ancestors n = 0 %> <% unless @entry.alias? %> <% end %> <% unless @entry.extended.empty? %>

extend: <%= @entry.extended.map {|c| class_link(c.name) }.join(', ') %>

<% end %> <% unless @entry.aliases.empty? %>

aliases: <%=h @entry.aliases.map{|c| c.name}.join(', ') %>

<% end %> <% unless @entry.dynamically_included.empty? %>

dynamic include: <%= @entry.dynamically_included.map {|m| class_link(m.name) + " (by " + library_link(m.library.name) + ")" }.join(", ") %>

<% end %> <% unless @entry.dynamically_extended.empty? %>

dynamic extend: <%= @entry.dynamically_extended.map {|m| class_link(m.name) + " (by " + library_link(m.library.name) + ")" }.join(", ") %>

<% end %> <% headline_push %> <%= headline(_("Abstract")) %> <%= compile_rd(@entry.source) %> <% ents = @entry.partitioned_entries(@alevel) items = [[_('Singleton Methods'), ents.singleton_methods ], [_('Instance Methods'), ents.instance_methods ], [_('Private Singleton Methods'), ents.private_singleton_methods ], [_('Private Instance Methods'), ents.private_instance_methods ], [_('Module Functions'), ents.module_functions ], [_('Constants'), ents.constants ], [_('Special Variables'), ents.special_variables ,'$']] %> <%= headline(_("Index")) %>
<% items.each do |label, entries, prefix| next if entries.empty? %>
<%= label %>
    <% entries.inject([]){ |ary, m| ary.concat(m.names.map{ |mname| [m.index_id, mname] }) } .uniq .sort_by{ |_, mname| mname.gsub(/(?=[^\da-zA-Z])/, "\t") } .each do |index_id, mname| %>
  • <%= escape_html "#{prefix}#{mname}" %>
  • <% end %>
<% end %>
<% _myself, *ancestors = @entry.ancestors.reject { |c| %w[Object Kernel BasicObject].include?(c.name) } displayed_methods = Set.new(ents.instance_methods.map(&:name)) %> <% unless ancestors.empty? %> <%= headline(_("Ancestor Methods")) %>
<% ancestors.each do |c| undefined_methods = @entry.partitioned_entries.undefined methods = c.partitioned_entries(@alevel).instance_methods .flat_map { |m| m.names.map { |n| [n, m] } } .reject { |name,| displayed_methods.include?(name) } .reject { |name,| undefined_methods.any? { |m| m.names.include?(name) } } .sort next if methods.empty? %>
<%= _('Ancestor Methods %s', c.name) %>
    <% methods.each do |name, m| %>
  • <%= method_link(m.spec_string, name) %>
  • <% displayed_methods << name %> <% end %>
<% end end %>
<% items.each do |label, entries| unless entries.empty? %> <%= headline(label) %>
<% headline_push entries.each do |m| %> <%= compile_method(m) %> <% end headline_pop %>
<% end end headline_pop %>