class AudioBookCreator::Conductor

Attributes

book_def[RW]
page_def[RW]
speaker_def[RW]
surfer_def[RW]

Public Class Methods

new(page_def, book_def, speaker_def, surfer_def) click to toggle source
# File lib/audio_book_creator/conductor.rb, line 8
def initialize(page_def, book_def, speaker_def, surfer_def)
  @page_def    = page_def
  @book_def    = book_def
  @speaker_def = speaker_def
  @surfer_def  = surfer_def

  page_def.invalid_urls = invalid_urls
end

Public Instance Methods

binder() click to toggle source
# File lib/audio_book_creator/conductor.rb, line 51
def binder
  @binder ||= Binder.new(book_def, speaker_def)
end
cached_web() click to toggle source
# File lib/audio_book_creator/conductor.rb, line 29
def cached_web
  @cached_hash ||= CachedHash.new(page_cache, web)
end
creator() click to toggle source
# File lib/audio_book_creator/conductor.rb, line 57
def creator
  @creator ||= BookCreator.new(spider, editor, speaker, binder)
end
editor() click to toggle source
# File lib/audio_book_creator/conductor.rb, line 43
def editor
  @editor ||= Editor.new(page_def)
end
invalid_urls() click to toggle source
# File lib/audio_book_creator/conductor.rb, line 33
def invalid_urls
  @invalid_urls ||= UrlFilter.new(book_def.urls.first)
end
outstanding() click to toggle source
# File lib/audio_book_creator/conductor.rb, line 61
def outstanding
  @outstanding ||= book_def.unique_urls
end
page_cache() click to toggle source

spider

# File lib/audio_book_creator/conductor.rb, line 21
def page_cache
  @page_cache ||= PageDb.new("pages.db", "pages", false)
end
run() click to toggle source
# File lib/audio_book_creator/conductor.rb, line 65
def run
  creator.create(outstanding)
end
speaker() click to toggle source
# File lib/audio_book_creator/conductor.rb, line 47
def speaker
  @speaker ||= Speaker.new(speaker_def, book_def)
end
spider() click to toggle source
# File lib/audio_book_creator/conductor.rb, line 37
def spider
  @spider ||= Spider.new(page_def, cached_web)
end
web() click to toggle source
# File lib/audio_book_creator/conductor.rb, line 25
def web
  @web ||= Web.new(surfer_def.max)
end