qti 1.0.9 → 1.0.10
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6e80bd0f2ab5ede85119a1a1fe1870304667eb5a
|
4
|
+
data.tar.gz: e3fb8c1e484263af51cc729ce9253c4b72f180f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f0f59f0e09802122d63b6a893cf2bbc83b6c8e9a0afab7874c6b2ae8a508f741149b4bcb9ae6ec69db990a841eb6bde2bc673b48cc35c2620422baeaacff67ab
|
7
|
+
data.tar.gz: 732b357b82b3c55e097713b9fffd94355ce46a3cb57bdffdf2036b1e3199fc1b1712acc76487823931266368b54664db8ffa57b8b42b0eb411a356fb85bca61a
|
@@ -26,6 +26,18 @@ module Qti
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def scoring_data_structs
|
29
|
+
@scoring_data ||= parse_scoring_data
|
30
|
+
end
|
31
|
+
|
32
|
+
def distractors
|
33
|
+
correct = scoring_data_structs[0].values.map(&:second)
|
34
|
+
all = answers.map(&:item_body)
|
35
|
+
all.reject { |v| correct.include? v }
|
36
|
+
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
def parse_scoring_data
|
29
41
|
# This preserves the original behavior while not breaking on itemfeedback
|
30
42
|
path = './/xmlns:respcondition/xmlns:setvar/../xmlns:conditionvar/xmlns:varequal'
|
31
43
|
matches = node.xpath(path).map do |node|
|
@@ -34,8 +46,6 @@ module Qti
|
|
34
46
|
[Models::ScoringData.new(Hash[matches], rcardinality)]
|
35
47
|
end
|
36
48
|
|
37
|
-
private
|
38
|
-
|
39
49
|
def answers_map
|
40
50
|
@answers_map ||= answers.reduce({}) do |acc, answer|
|
41
51
|
acc.update answer.identifier => answer.item_body
|
data/lib/qti/version.rb
CHANGED
@@ -26,6 +26,10 @@ describe Qti::V1::Models::Interactions::MatchInteraction do
|
|
26
26
|
it 'returns the questions' do
|
27
27
|
expect(subject.questions).to eq(expected_questions)
|
28
28
|
end
|
29
|
+
|
30
|
+
it 'contaons distractors' do
|
31
|
+
expect(subject.distractors).to eq(expected_distractors)
|
32
|
+
end
|
29
33
|
end
|
30
34
|
|
31
35
|
shared_examples_for '#scoring_data_structs' do
|
@@ -55,6 +59,7 @@ describe Qti::V1::Models::Interactions::MatchInteraction do
|
|
55
59
|
'question_2' => "Uses a beam of electrons. Can provide details of cells' internal structure."
|
56
60
|
}
|
57
61
|
end
|
62
|
+
let(:expected_distractors) { ['A distractor answer.'] }
|
58
63
|
|
59
64
|
include_examples('common features')
|
60
65
|
include_examples('questions and answers')
|
@@ -80,6 +85,7 @@ describe Qti::V1::Models::Interactions::MatchInteraction do
|
|
80
85
|
'response_1943' => ''
|
81
86
|
}
|
82
87
|
end
|
88
|
+
let(:expected_distractors) { %w[C D E F 3 4 5 6] }
|
83
89
|
|
84
90
|
include_examples('common features')
|
85
91
|
include_examples('questions and answers')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qti
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hannah Bottalla
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-03-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|