ims-lti 1.1.9 → 1.1.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ims/lti/tool_config.rb +24 -18
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c7f1feeb8de427e084dd4e91ec1cd22eb5848dc0
|
4
|
+
data.tar.gz: 54f156903788d5f10a763b6409bc7b443c8cec8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb94e636da4a9b07e6be2c7ed528b8bb367ff33a2726580f0b085ba0af9547d534d77ca2bbc2375bd782db116408ddda1ac3ac936825f018aa141007812a0b8a
|
7
|
+
data.tar.gz: 3e03fe6b42605945b1b08bf6dc5e95bab898414505ac58ba841bd1c6370fb226971d094774541f76f8189e4636c28377d6006e42fe64dc8fca3f455732ce1cfa
|
data/lib/ims/lti/tool_config.rb
CHANGED
@@ -115,13 +115,7 @@ module IMS::LTI
|
|
115
115
|
platform = vendor_ext_node.attributes['platform']
|
116
116
|
properties = {}
|
117
117
|
set_properties(properties, vendor_ext_node)
|
118
|
-
|
119
|
-
opt_name = options_node.attributes['name']
|
120
|
-
options = {}
|
121
|
-
set_properties(options, options_node)
|
122
|
-
properties[opt_name] = options
|
123
|
-
end
|
124
|
-
|
118
|
+
set_options(properties, vendor_ext_node)
|
125
119
|
self.set_ext_params(platform, properties)
|
126
120
|
end
|
127
121
|
|
@@ -175,17 +169,7 @@ module IMS::LTI
|
|
175
169
|
ext_params = @extensions[ext_platform]
|
176
170
|
blti_node.blti(:extensions, :platform => ext_platform) do |ext_node|
|
177
171
|
ext_params.keys.sort.each do |key|
|
178
|
-
|
179
|
-
if val.is_a?(Hash)
|
180
|
-
ext_node.lticm(:options, :name => key) do |type_node|
|
181
|
-
val.keys.sort.each do |p_key|
|
182
|
-
p_val = val[p_key]
|
183
|
-
type_node.lticm :property, p_val, 'name' => p_key
|
184
|
-
end
|
185
|
-
end
|
186
|
-
else
|
187
|
-
ext_node.lticm :property, val, 'name' => key
|
188
|
-
end
|
172
|
+
nest_xml(ext_node, key, ext_params[key])
|
189
173
|
end
|
190
174
|
end
|
191
175
|
end
|
@@ -199,6 +183,18 @@ module IMS::LTI
|
|
199
183
|
|
200
184
|
private
|
201
185
|
|
186
|
+
def nest_xml(ext_node, key, value)
|
187
|
+
if value.is_a?(Hash)
|
188
|
+
ext_node.lticm(:options, :name => key) do |type_node|
|
189
|
+
value.keys.sort.each do |sub_key|
|
190
|
+
nest_xml(type_node, sub_key, value[sub_key])
|
191
|
+
end
|
192
|
+
end
|
193
|
+
else
|
194
|
+
ext_node.lticm :property, value, 'name' => key
|
195
|
+
end
|
196
|
+
end
|
197
|
+
|
202
198
|
def get_node_text(node, path)
|
203
199
|
if val = REXML::XPath.first(node, path, LTI_NAMESPACES)
|
204
200
|
val.text
|
@@ -221,5 +217,15 @@ module IMS::LTI
|
|
221
217
|
end
|
222
218
|
end
|
223
219
|
|
220
|
+
def set_options(hash, node)
|
221
|
+
REXML::XPath.each(node, 'lticm:options', LTI_NAMESPACES) do |options_node|
|
222
|
+
opt_name = options_node.attributes['name']
|
223
|
+
options = {}
|
224
|
+
set_properties(options, options_node)
|
225
|
+
set_options(options, options_node)
|
226
|
+
hash[opt_name] = options
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
224
230
|
end
|
225
231
|
end
|