Class: IMS::CC::Resources::Resource

Inherits:
Object
  • Object
show all
Includes:
HappyMapper
Defined in:
lib/ims/cc/resources.rb

Constant Summary collapse

PARSABLE_TYPES =
/imsdt|imswl|assignment/

Instance Method Summary collapse

Instance Method Details

#inline?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/ims/cc/resources.rb', line 34

def inline?
  !!(self.files.count == 0 && (self.topic || self.web_link))
end

#parse_reference(xml) ⇒ Object



47
48
49
50
51
52
53
54
55
56
# File 'lib/ims/cc/resources.rb', line 47

def parse_reference(xml)
  case self.type
    when /imsdt/
      self.topic = IMS::CC::Topic.parse(xml)
    when /imswl/
      self.web_link = IMS::CC::WebLink.parse(xml)
    when /assignment/
      self.assignment = IMS::CC::Assignment::Assignment.parse(xml)
  end
end

#parseable_type?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/ims/cc/resources.rb', line 38

def parseable_type?
  !!(self.type =~ PARSABLE_TYPES)
end

#reference_hrefObject



42
43
44
45
# File 'lib/ims/cc/resources.rb', line 42

def reference_href
  return if inline?
  self.files.first.href
end