class Moodle2CC::Moodle2::Parsers::CourseParser
Constants
- COURSE_XML_PATH
- SCALES_XML_PATH
Public Class Methods
new(backup_folder)
click to toggle source
# File lib/moodle2cc/moodle2/parsers/course_parser.rb, line 8 def initialize(backup_folder) @backup_folder = backup_folder end
Public Instance Methods
parse()
click to toggle source
# File lib/moodle2cc/moodle2/parsers/course_parser.rb, line 12 def parse course = Moodle2CC::Moodle2::Models::Course.new File.open(File.join(@backup_folder, COURSE_XML_PATH)) do |f| course_doc = Nokogiri::XML(f) course.course_id = course_doc.at_xpath('/course/@id').value course.id_number = parse_text(course_doc, '/course/idnumber') course.fullname = parse_text(course_doc, '/course/fullname') course.shortname = parse_text(course_doc, '/course/shortname') course.summary = parse_text(course_doc, '/course/summary') course.show_grades = parse_boolean(course_doc, '/course/showgrades') if unix_start_date = parse_text(course_doc, '/course/startdate') course.startdate = Time.at(unix_start_date.to_i) end end File.open(File.join(@backup_folder, SCALES_XML_PATH)) do |f| scales_doc = Nokogiri::XML(f) scales_doc.search('scales_definition/scale').each do |node| course.grading_scales[node.attributes['id'].value.to_i] = parse_text(node, 'scale').split(',') end end course end