module HS::ModuleLoader

Constants

CUSTOM_LOADERS

Public Instance Methods

load_module(chapter, xml) click to toggle source
# File lib/hs/loaders/module_loader.rb, line 13
def load_module(chapter, xml)
  create_module(chapter, parse_xml(xml))
end

Private Instance Methods

create_module(chapter, data) click to toggle source
# File lib/hs/loaders/module_loader.rb, line 19
def create_module(chapter, data)
  mod = HS::Module.new(chapter, data.slice(:slug, :review_status))
  data[:_children].each { |child| load_a_part(mod, child) }
  mod
end
load_a_part(mod, child) click to toggle source
# File lib/hs/loaders/module_loader.rb, line 25
def load_a_part(mod, child)
  if CUSTOM_LOADERS.include?(child[:_name])
    send("load_#{child[:_name]}", mod, child)
  else
    element = load_element(child)
    mod.content << element if element
  end
end
load_intro(mod, child) click to toggle source
# File lib/hs/loaders/module_loader.rb, line 38
def load_intro(mod, child)
  mod.intro = load_element(child)
end
load_title(mod, child) click to toggle source
# File lib/hs/loaders/module_loader.rb, line 34
def load_title(mod, child)
  mod.title = get_text(child)
end