<%= klass.type %> <%= klass.full_name %>

<%= klass.description %>
<% klass.each_section do |section, constants, attributes| %>
<% if section.title then %>

<%= section.title %>

↑ top
<% end %> <% if section.comment then %>
<%= section.description %>
<% end %> <% unless constants.empty? then %>

Constants

<% constants.each do |const| %>
<%= const.name %> <% if const.comment then %>
<%= const.description.strip %> <% else %>
(Not documented) <% end %> <% end %>
<% end %> <% unless attributes.empty? then %>

Attributes

<% attributes.each do |attrib| %>
<%= h attrib.name %>[<%= attrib.rw %>]
<% if attrib.comment then %> <%= attrib.description.strip %> <% else %>

(Not documented) <% end %>

<% end %>
<% end %> <% klass.methods_by_type(section).each do |type, visibilities| next if visibilities.empty? visibilities.each do |visibility, methods| next if methods.empty? %>

<%= visibility.to_s.capitalize %> <%= type.capitalize %> Methods

<% methods.each do |method| %>
"> <% if method.call_seq then %> <% method.call_seq.strip.split("\n").each_with_index do |call_seq, i| %>
<%= h(call_seq.strip. gsub( /^\w+\./m, '')). gsub(/(.*)[-=]>/, '\1→') %> <% if i == 0 and method.token_stream then %> click to toggle source <% end %>
<% end %> <% else %>
<%= h method.name %><%= h method.param_seq %> <% if method.token_stream then %> click to toggle source <% end %>
<% end %>
<% if method.comment then %> <%= method.description.strip %> <% else %>

(Not documented) <% end %> <% if method.calls_super then %>

Calls superclass method <%= method.superclass_method ? method.formatter.link(method.superclass_method.full_name, method.superclass_method.full_name) : nil %>
<% end %> <% if method.token_stream then %>
<%= method.markup_code %>
<% end %>
<% unless method.aliases.empty? then %>
Also aliased as: <%= method.aliases.map do |aka| if aka.parent then # HACK lib/rexml/encodings %{#{h aka.name}} else h aka.name end end.join ", " %>
<% end %> <% if method.is_alias_for then %> <% end %>
<% end %>
<% end end %>
<% end %>