Class: Docbook::Output::IndexGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/docbook/output/index_generator.rb

Instance Method Summary collapse

Constructor Details

#initialize(index_terms, xref_resolver = nil) ⇒ IndexGenerator

Returns a new instance of IndexGenerator.



103
104
105
106
# File 'lib/docbook/output/index_generator.rb', line 103

def initialize(index_terms, xref_resolver = nil)
  @index_terms = index_terms
  @xref_resolver = xref_resolver
end

Instance Method Details

#generateObject



108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'lib/docbook/output/index_generator.rb', line 108

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