Class: Moodle2CC::CC::Assignment
- Inherits:
-
Object
- Object
- Moodle2CC::CC::Assignment
- Defined in:
- lib/moodle2cc/cc/assignment.rb
Direct Known Subclasses
Constant Summary
Constants included from CCHelper
CCHelper::ASSESSMENT_CC_QTI, CCHelper::ASSESSMENT_META, CCHelper::ASSESSMENT_NON_CC_FOLDER, CCHelper::ASSESSMENT_TYPE, CCHelper::ASSIGNMENT_GROUPS, CCHelper::ASSIGNMENT_SETTINGS, CCHelper::BASIC_LTI, CCHelper::BLTI_NAMESPACE, CCHelper::CANVAS_NAMESPACE, CCHelper::CANVAS_PLATFORM, CCHelper::CC_ASSIGNMENT_FOLDER, CCHelper::CC_EXTENSION, CCHelper::CC_WIKI_FOLDER, CCHelper::COURSE_SETTINGS, CCHelper::COURSE_SETTINGS_DIR, CCHelper::COURSE_TOKEN, CCHelper::DISCUSSION_TOPIC, CCHelper::EVENTS, CCHelper::EXTERNAL_FEEDS, CCHelper::EXTERNAL_TOOLS, CCHelper::FILES_META, CCHelper::GRADING_STANDARDS, CCHelper::IMS_DATE, CCHelper::IMS_DATETIME, CCHelper::LEARNING_OUTCOMES, CCHelper::LOR, CCHelper::MANIFEST, CCHelper::MEDIA_OBJECTS_FOLDER, CCHelper::MODULE_META, CCHelper::MOODLE_FILEBASE_TOKEN, CCHelper::MOODLE_SLASH_TOKEN, CCHelper::OBJECT_TOKEN, CCHelper::QTI_ASSESSMENT_TYPE, CCHelper::QTI_EXTENSION, CCHelper::QUESTION_BANK, CCHelper::RUBRICS, CCHelper::SYLLABUS, CCHelper::WEBCONTENT, CCHelper::WEB_CONTENT_TOKEN, CCHelper::WEB_LINK, CCHelper::WEB_RESOURCES_FOLDER, CCHelper::WIKI_FOLDER, CCHelper::WIKI_TOKEN, CCHelper::XSD_URI
Instance Attribute Summary collapse
-
#body ⇒ Object
Returns the value of attribute body.
-
#meta_fields ⇒ Object
Returns the value of attribute meta_fields.
Instance Method Summary collapse
-
#build_meta_fields(mod) ⇒ Object
Common Cartridge doesn’t have anywhere to put assignment meta data like this So add them as HTML meta fields in the HTML file.
- #create_files(export_dir) ⇒ Object
- #create_html(export_dir) ⇒ Object
- #create_resource_node(resources_node) ⇒ Object
- #create_resource_sub_nodes(resource_node) ⇒ Object
-
#initialize(mod, position = 0) ⇒ Assignment
constructor
A new instance of Assignment.
Methods included from Resource
#create_organization_item_node, included
Methods included from CCHelper
#convert_file_path_tokens, convert_file_path_tokens, #create_key, create_key, create_mod_key, #create_mod_key, #create_resource_key, create_resource_key, file_query_string, #file_slug, file_slug, #get_html_title_and_body, #get_html_title_and_body_and_id, #get_html_title_and_body_and_meta_fields, ims_date, #ims_date, ims_datetime, #ims_datetime, media_object_info
Constructor Details
#initialize(mod, position = 0) ⇒ Assignment
Returns a new instance of Assignment.
8 9 10 11 12 13 14 |
# File 'lib/moodle2cc/cc/assignment.rb', line 8 def initialize(mod, position=0) super @body = convert_file_path_tokens(mod.description) @meta_fields = (mod) @rel_path = File.join(CC_ASSIGNMENT_FOLDER, "#{file_slug(@title)}.html") @resource_type = nil end |
Instance Attribute Details
#body ⇒ Object
Returns the value of attribute body.
6 7 8 |
# File 'lib/moodle2cc/cc/assignment.rb', line 6 def body @body end |
#meta_fields ⇒ Object
Returns the value of attribute meta_fields.
6 7 8 |
# File 'lib/moodle2cc/cc/assignment.rb', line 6 def @meta_fields end |
Instance Method Details
#build_meta_fields(mod) ⇒ Object
Common Cartridge doesn’t have anywhere to put assignment meta data like this So add them as HTML meta fields in the HTML file
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/moodle2cc/cc/assignment.rb', line 18 def (mod) fields = {} %w{mod_type assignment_type}.each do |key| fields[key] = mod.send(key) if mod.respond_to?(key) end if mod.grade_item Moodle2CC::Moodle::GradeItem::PROPERTIES.each do |key| fields[key] = mod.grade_item.send(key) if mod.grade_item.respond_to?(key) end end fields end |
#create_files(export_dir) ⇒ Object
47 48 49 |
# File 'lib/moodle2cc/cc/assignment.rb', line 47 def create_files(export_dir) create_html(export_dir) end |
#create_html(export_dir) ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'lib/moodle2cc/cc/assignment.rb', line 51 def create_html(export_dir) template = File.('../templates/assignment.html.erb', __FILE__) path = File.join(export_dir, @rel_path) FileUtils.mkdir_p(File.dirname(path)) File.open(path, 'w') do |file| erb = ERB.new(File.read(template)) file.write(erb.result(binding)) end end |
#create_resource_node(resources_node) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/moodle2cc/cc/assignment.rb', line 32 def create_resource_node(resources_node) resources_node.resource( :href => @rel_path, :type => @resource_type || WEBCONTENT, :identifier => identifier ) do |resource_node| resource_node.file(:href => @rel_path) create_resource_sub_nodes(resource_node) # todo if CC 1.2 add assignment meta tag end end |
#create_resource_sub_nodes(resource_node) ⇒ Object
44 45 |
# File 'lib/moodle2cc/cc/assignment.rb', line 44 def create_resource_sub_nodes(resource_node) end |