class Bookbinder::Subnav::SubnavGenerator

Attributes

navigation_entries_parser[R]
output_locations[R]
pdf_config_creator[R]
template_creator[R]

Public Class Methods

new(navigation_entries_parser, template_creator, pdf_config_creator, output_locations) click to toggle source
# File lib/bookbinder/subnav/subnav_generator.rb, line 4
def initialize(navigation_entries_parser, template_creator, pdf_config_creator, output_locations)
  @navigation_entries_parser = navigation_entries_parser
  @template_creator = template_creator
  @pdf_config_creator = pdf_config_creator
  @output_locations = output_locations
end

Public Instance Methods

generate(subnav_spec) click to toggle source
# File lib/bookbinder/subnav/subnav_generator.rb, line 11
def generate(subnav_spec)
  navigation_entries = navigation_entries_parser.get_links(subnav_spec, output_locations)
  template_creator.create(navigation_entries, subnav_spec)
  pdf_config_creator.create(navigation_entries, subnav_spec) if pdf?(subnav_spec)
end

Private Instance Methods

pdf?(subnav_spec) click to toggle source
# File lib/bookbinder/subnav/subnav_generator.rb, line 23
def pdf?(subnav_spec)
  subnav_spec.respond_to?(:pdf_config) && subnav_spec.pdf_config
end