class Moodle2CC::Moodle2Converter::FolderConverter
Public Class Methods
new(moodle_course)
click to toggle source
# File lib/moodle2cc/moodle2converter/folder_converter.rb, line 5 def initialize(moodle_course) @moodle_course = moodle_course end
Public Instance Methods
convert(moodle_folder)
click to toggle source
# File lib/moodle2cc/moodle2converter/folder_converter.rb, line 9 def convert(moodle_folder) canvas_page = Moodle2CC::CanvasCC::Models::Page.new canvas_page.identifier = generate_unique_identifier_for_activity(moodle_folder) canvas_page.page_name = moodle_folder.name canvas_page.workflow_state = workflow_state(moodle_folder.visible) canvas_page.editing_roles = 'teachers' canvas_page.body = generate_body(moodle_folder) canvas_page end
Private Instance Methods
generate_body(moodle_folder)
click to toggle source
# File lib/moodle2cc/moodle2converter/folder_converter.rb, line 25 def generate_body(moodle_folder) files = sort_files(parse_files_from_course(moodle_folder)) html = moodle_folder.intro.to_s html += "<ul>\n" files.each do |f| #create a moodle style link that will be replaced in the html converter link = "<a href=\"@@PLUGINFILE@@#{f.file_path}#{f.file_name}\">#{f.file_path[1..-1]}#{f.file_name}</a>" html += "<li><p>#{link}</p></li>\n" end html += "</ul>\n" html.strip end
parse_files_from_course(moodle_folder)
click to toggle source
# File lib/moodle2cc/moodle2converter/folder_converter.rb, line 21 def parse_files_from_course(moodle_folder) @moodle_course.files.select { |f| moodle_folder.file_ids.include? f.id } end
sort_files(files)
click to toggle source
# File lib/moodle2cc/moodle2converter/folder_converter.rb, line 38 def sort_files(files) files.sort do |a, b| a_depth = a.file_path.scan(/\//).count b_depth = b.file_path.scan(/\//).count if a_depth == b_depth "#{a.file_path[1..-1]}#{a.file_name}" <=> "#{b.file_path[1..-1]}#{b.file_name}" else a_depth <=> b_depth end end end