@@ -10,17 +10,16 @@ module CommonCartridge
1010 module Elements
1111 module Resources
1212
13- def self . type_mappings
14- {
15- Topic . pattern => Topic ,
16- WebLink . pattern => WebLink ,
17- Assignment . pattern => Assignment ,
18- Assessment . pattern => Assessment ,
19- Page . pattern => Page ,
20- BasicLtiLink ::BasicLtiLink . pattern => BasicLtiLink ::BasicLtiLink
21- }
22- end
23-
13+ def self . type_mappings
14+ {
15+ Topic . pattern => Topic ,
16+ WebLink . pattern => WebLink ,
17+ Assignment . pattern => Assignment ,
18+ Assessment . pattern => Assessment ,
19+ Page . pattern => Page ,
20+ BasicLtiLink ::BasicLtiLink . pattern => BasicLtiLink ::BasicLtiLink
21+ }
22+ end
2423
2524 class Content
2625 include SAXMachine
@@ -61,7 +60,33 @@ class File
6160 element :attachments , class : Attachments ::RootAttachment , as : :attachment_root
6261 elements :dependency , class : Dependency , as : :dependencies
6362
64- def attachments ; attachment_root . attachments ; end
63+ def attachments
64+ attachment_root . attachments ;
65+ end
66+ end
67+
68+ class EndUserRole
69+ include SAXMachine
70+
71+ element 'lom:value' , as : :role
72+ end
73+
74+ class Educational
75+ include SAXMachine
76+
77+ element 'lom:intendedEndUserRole' , class : CommonCartridge ::Elements ::Resources ::EndUserRole , as : :end_user_role
78+ end
79+
80+ class Lom
81+ include SAXMachine
82+
83+ element 'lom:educational' , class : CommonCartridge ::Elements ::Resources ::Educational , as : :educational
84+ end
85+
86+ class Metadata
87+ include SAXMachine
88+
89+ element 'lom:lom' , class : CommonCartridge ::Elements ::Resources ::Lom , as : :lom
6590 end
6691
6792 class Resource
@@ -76,13 +101,17 @@ class Resource
76101
77102 elements :file , class : File , as : :files
78103 elements :dependency , class : Dependency , as : :dependencies
104+ element :metadata , class : CommonCartridge ::Elements ::Resources ::Metadata , as : :metadata
79105
106+ def role
107+ metadata &.lom &.educational &.end_user_role &.end_user_role &.role
108+ end
80109
81110 # Switch statement based on 'type'
82111 def points_possible
83112 @points_possible ||= if dependency = dependencies . detect { |d | d . points_possible && !d . points_possible . empty? }
84- dependency . points_possible
85- end
113+ dependency . points_possible
114+ end
86115 end
87116
88117 def title
0 commit comments