class AudioBookCreator::Defaulter

Constants

ATTRIBUTES

Attributes

book_def[RW]
page_def[RW]
settings[W]

Public Class Methods

new(page_def, book_def) click to toggle source
# File lib/audio_book_creator/defaulter.rb, line 13
def initialize(page_def, book_def)
  @page_def    = page_def
  @book_def    = book_def
end

Public Instance Methods

host() click to toggle source
# File lib/audio_book_creator/defaulter.rb, line 18
def host
  url = book_def.urls.first
  url && URI.parse(url).host
end
load_unset_values() click to toggle source
# File lib/audio_book_creator/defaulter.rb, line 28
def load_unset_values
  value = host && settings[host]
  value.each { |n, v| public_send("#{n}=", v) } if value
end
settings() click to toggle source
# File lib/audio_book_creator/defaulter.rb, line 23
def settings
  # in the future, move into pages
  @settings ||= PageDb.new("settings.db", "settings", true)
end
store() click to toggle source
# File lib/audio_book_creator/defaulter.rb, line 33
def store
  return unless host
  settings[host] = ATTRIBUTES.each_with_object(settings[host] || {}) do |attr, h|
    v = public_send(attr)
    h[attr] = v if v
  end
end