Class: Moodle2CC::CC::DiscussionTopic

Inherits:
Object
  • Object
show all
Includes:
CCHelper, Resource
Defined in:
lib/moodle2cc/cc/discussion_topic.rb

Direct Known Subclasses

Moodle2CC::Canvas::DiscussionTopic

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

Instance Method Summary collapse

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) ⇒ DiscussionTopic

Returns a new instance of DiscussionTopic.



9
10
11
12
# File 'lib/moodle2cc/cc/discussion_topic.rb', line 9

def initialize(mod, position=0)
  super
  @text = convert_file_path_tokens(mod.intro)
end

Instance Attribute Details

#textObject

Returns the value of attribute text.



7
8
9
# File 'lib/moodle2cc/cc/discussion_topic.rb', line 7

def text
  @text
end

Instance Method Details

#create_files(export_dir) ⇒ Object



31
32
33
# File 'lib/moodle2cc/cc/discussion_topic.rb', line 31

def create_files(export_dir)
  create_topic_xml(export_dir)
end

#create_resource_node(resources_node) ⇒ Object



18
19
20
21
22
23
24
25
26
# File 'lib/moodle2cc/cc/discussion_topic.rb', line 18

def create_resource_node(resources_node)
  resources_node.resource(
    :type => DISCUSSION_TOPIC,
    :identifier => identifier
  ) do |resource_node|
    resource_node.file(:href => "#{identifier}.xml")
    create_resource_sub_nodes(resource_node)
  end
end

#create_resource_sub_nodes(resource_node) ⇒ Object



28
29
# File 'lib/moodle2cc/cc/discussion_topic.rb', line 28

def create_resource_sub_nodes(resource_node)
end

#create_topic_xml(export_dir) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/moodle2cc/cc/discussion_topic.rb', line 35

def create_topic_xml(export_dir)
  path = File.join(export_dir, "#{identifier}.xml")
  File.open(path, 'w') do |file|
    document = Builder::XmlMarkup.new(:target => file, :indent => 2)
    document.instruct!
    document.topicMeta(
      :identifier => identifierref,
      'xsi:schemaLocation' => "http://www.imsglobal.org/xsd/imsccv1p1/imsdt_v1p1 http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imsdt_v1p1.xsd",
      'xmlns:xsi' => "http://www.w3.org/2001/XMLSchema-instance",
      'xmlns' => "http://www.imsglobal.org/xsd/imsccv1p1/imsdt_v1p1"
    ) do |topic|
      topic.title @title
      topic.text @text, :texttype => 'text/html'
    end
  end
end

#identifierrefObject



14
15
16
# File 'lib/moodle2cc/cc/discussion_topic.rb', line 14

def identifierref
  create_key(id, 'topic_meta_')
end