class Qti::Models::Resource
Public Class Methods
new(node, parent)
click to toggle source
# File lib/qti/models/resource.rb, line 8 def initialize(node, parent) @node = node @parent = parent @resource_type = node.attr('type') @identifier = node.attr('identifier') copy_paths_from_item(parent) end
Public Instance Methods
canvas_extra_file(filename)
click to toggle source
# File lib/qti/models/resource.rb, line 31 def canvas_extra_file(filename) dep_id = dependency_id rsc = @parent.resource_node( "[@identifier='#{dep_id}']/xmlns:file[#{xpath_endswith('@href', filename)}]/@href" ) rsc&.content end
canvas_metadata()
click to toggle source
# File lib/qti/models/resource.rb, line 24 def canvas_metadata @canvas_meta_file ||= canvas_extra_file('assessment_meta.xml') return unless @canvas_meta_file meta_file = File.join(@package_root, @canvas_meta_file) @canvas_metadata ||= Qti::Models::AssessmentMeta.from_path!(meta_file) if @canvas_meta_file end
href()
click to toggle source
# File lib/qti/models/resource.rb, line 16 def href @href ||= @node.attr('href') || @node.xpath('xmlns:file/@href')&.first&.content end
metadata()
click to toggle source
# File lib/qti/models/resource.rb, line 20 def metadata @metadata ||= MetaData.new(@node) end
Private Instance Methods
dependency_id()
click to toggle source
Canvas Metadata Helpers
# File lib/qti/models/resource.rb, line 42 def dependency_id @node.xpath('xmlns:dependency/@identifierref')&.first&.content end