Class: Docbook::Output::IndexGenerator
- Inherits:
-
Object
- Object
- Docbook::Output::IndexGenerator
- Defined in:
- lib/docbook/output/index_generator.rb
Overview
Generates index content from collected indexterms
Instance Method Summary collapse
-
#generate ⇒ Object
Generate index data structure grouped by letter.
-
#initialize(index_terms, xref_resolver = nil) ⇒ IndexGenerator
constructor
A new instance of IndexGenerator.
Constructor Details
#initialize(index_terms, xref_resolver = nil) ⇒ IndexGenerator
Returns a new instance of IndexGenerator.
274 275 276 277 |
# File 'lib/docbook/output/index_generator.rb', line 274 def initialize(index_terms, xref_resolver = nil) @index_terms = index_terms @xref_resolver = xref_resolver end |
Instance Method Details
#generate ⇒ Object
Generate index data structure grouped by letter
280 281 282 283 284 285 286 287 288 289 290 291 292 |
# File 'lib/docbook/output/index_generator.rb', line 280 def generate by_letter = group_by_letter by_letter.sort_by do |letter, _| letter == "SYMBOLS" ? "{" : letter.downcase end .to_h .map do |letter, terms| { letter: letter, entries: sort_entries(terms), } end end |