class Moodle2CC::Moodle2::Parsers::PageParser

Constants

PAGE_MODULE_NAME
PAGE_XML

Public Class Methods

new(backup_dir) click to toggle source
# File lib/moodle2cc/moodle2/parsers/page_parser.rb, line 8
def initialize(backup_dir)
  @backup_dir = backup_dir
end

Public Instance Methods

parse() click to toggle source
# File lib/moodle2cc/moodle2/parsers/page_parser.rb, line 12
def parse
  activity_dirs = activity_directories(@backup_dir, PAGE_MODULE_NAME)
  activity_dirs.map { |dir| parse_page(dir) }
end

Private Instance Methods

parse_page(dir) click to toggle source
# File lib/moodle2cc/moodle2/parsers/page_parser.rb, line 19
def parse_page(dir)
  page = Moodle2CC::Moodle2::Models::Page.new
  activity_dir = File.join(@backup_dir, dir)
  File.open(File.join(activity_dir, PAGE_XML)) do |f|
    page_xml = Nokogiri::XML(f)
    page.id = page_xml.at_xpath('/activity/page/@id').value
    page.module_id = page_xml.at_xpath('/activity/@moduleid').value
    page.name = parse_text(page_xml, '/activity/page/name')
    page.intro = parse_text(page_xml, '/activity/page/intro')
    page.intro_format = parse_text(page_xml, '/activity/page/introformat')
    page.content = parse_text(page_xml, '/activity/page/content')
    page.content_format = parse_text(page_xml, '/activity/page/contentformat')
    page.legacy_files = parse_text(page_xml, '/activity/page/legacyfiles')
    page.legacy_files_last = parse_text(page_xml, '/activity/page/legacyfileslast')
    page.display = parse_text(page_xml, '/activity/page/display')
    page.display_options = parse_text(page_xml, '/activity/page/displayoptions')
    page.revision = parse_text(page_xml, '/activity/page/revision')
    page.time_modified = parse_text(page_xml, '/activity/page/timemodified')
  end
  parse_module(activity_dir, page)

  page
end