qti 0.8.3 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +47 -9
- data/lib/qti/version.rb +3 -0
- data/spec/gemfiles/nokogiri-1.6.gemfile +5 -0
- data/spec/gemfiles/nokogiri-1.8.gemfile +5 -0
- data/spec/gemfiles/rails-4.2.gemfile +5 -0
- data/spec/gemfiles/rails-5.0.gemfile +5 -0
- data/spec/gemfiles/rails-5.1.gemfile +5 -0
- data/spec/gemfiles/sanitize-4.2.gemfile +5 -0
- data/spec/gemfiles/sanitize-4.5.gemfile +5 -0
- data/spec/spec_helper.rb +15 -6
- metadata +99 -51
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96229366751c574392ef6478af9c08bad96cec41
|
4
|
+
data.tar.gz: ef9619aa3bdf5d8f83c46839f8d04953a79a717b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9b5a5f1d726675d1cf1b5e161120c73a23ac1c20e633cd738787c9d3f5edbfad5618ac52fcabcb779789c4a2d04b019b386ba99a1819d8316c0c6d5da6dae61
|
7
|
+
data.tar.gz: 9fa1abca8886f8f5c86bc4e1bcd84a5890dc99ba2facc8e5aad2aa4642af7c95894f1970924b2018b7078400b210c7b8da5e8e43380125894416279f6fbe6074
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# QTI Gem
|
2
2
|
|
3
3
|
The Qti gem supports QTI 1.2 and 2.1. It currently supports the following interaction types:
|
4
4
|
|
@@ -6,6 +6,7 @@ The Qti gem supports QTI 1.2 and 2.1. It currently supports the following intera
|
|
6
6
|
- Multiple Choice
|
7
7
|
- Multiple Answer
|
8
8
|
|
9
|
+
|
9
10
|
## Installation
|
10
11
|
|
11
12
|
```sh
|
@@ -13,6 +14,7 @@ $ cd your_project
|
|
13
14
|
$ bundle install qti
|
14
15
|
```
|
15
16
|
|
17
|
+
|
16
18
|
## Usage
|
17
19
|
|
18
20
|
```rb
|
@@ -20,7 +22,8 @@ require 'qti'
|
|
20
22
|
@gem = Qti::Importer.new(path_of_quiz)
|
21
23
|
```
|
22
24
|
|
23
|
-
You can use the gem to access the manifest, the assessments, and the assessment
|
25
|
+
You can use the gem to access the manifest, the assessments, and the assessment
|
26
|
+
items and use it in your own code!
|
24
27
|
|
25
28
|
### Available methods
|
26
29
|
|
@@ -54,13 +57,48 @@ Returns the version appropriate AssessmentItem model
|
|
54
57
|
- `interaction_model` (ie Choice Interaction)
|
55
58
|
- `scoring_data_structs`
|
56
59
|
|
57
|
-
|
58
|
-
You can run tests with code coverage using the following command:
|
59
|
-
`docker-compose run --rm -e RAILS_ENV=test -e COVERAGE=1 testrunner bundle exec rspec spec`
|
60
|
-
|
60
|
+
|
61
61
|
## Development
|
62
62
|
|
63
|
-
|
63
|
+
A simple docker environment has been provided for spinning up and testing this
|
64
|
+
gem with multiple versions of Ruby. This requires docker and docker-compose to
|
65
|
+
be installed. To get started, run the following:
|
66
|
+
|
67
|
+
```bash
|
68
|
+
./build.sh
|
69
|
+
```
|
70
|
+
|
71
|
+
This will install the gem in a docker image with all versions of Ruby installed,
|
72
|
+
and install all gem dependencies in the Ruby 2.4 set of gems. Then it will run
|
73
|
+
[wwtd](https://github.com/grosser/wwtd), which runs all specs across all
|
74
|
+
supported versions of Ruby and gem dependencies.
|
75
|
+
|
76
|
+
The first build will take a long time, however, docker images and gems are
|
77
|
+
cached, making additional runs significantly faster.
|
78
|
+
|
79
|
+
Individual spec runs can be started like so:
|
80
|
+
|
81
|
+
```bash
|
82
|
+
docker-compose run --rm app /bin/bash -l -c \
|
83
|
+
"BUNDLE_GEMFILE=spec/gemfiles/nokogiri-1.8.gemfile rvm-exec 2.4 rspec"
|
84
|
+
```
|
85
|
+
|
86
|
+
If you'd like to mount your git checkout within the docker container running
|
87
|
+
tests so changes are easier to test, use the override provided:
|
88
|
+
|
89
|
+
```bash
|
90
|
+
cp docker-compose.override.example.yml docker-compose.override.yml
|
91
|
+
```
|
92
|
+
|
93
|
+
|
94
|
+
## Contributing
|
95
|
+
|
96
|
+
Bug reports and pull requests are welcome on GitHub at:
|
97
|
+
|
98
|
+
- https://github.com/instructure/qti
|
99
|
+
|
100
|
+
|
101
|
+
## License
|
64
102
|
|
65
|
-
|
66
|
-
|
103
|
+
The gem is available as open source under the terms of the
|
104
|
+
[MIT License](http://opensource.org/licenses/MIT).
|
data/lib/qti/version.rb
ADDED
data/spec/spec_helper.rb
CHANGED
@@ -1,12 +1,21 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require 'simplecov'
|
1
|
+
# Limit coverage reporting to one build:
|
2
|
+
if /^2\.4/ =~ RUBY_VERSION && /nokogiri-1\.8/ =~ ENV['BUNDLE_GEMFILE']
|
3
|
+
require 'simplecov'
|
4
|
+
|
5
|
+
SimpleCov.start do
|
6
|
+
add_filter 'lib/qti/version.rb'
|
7
|
+
add_filter 'spec'
|
8
|
+
track_files 'lib/**/*.rb'
|
9
|
+
end
|
4
10
|
|
5
|
-
SimpleCov.
|
6
|
-
add_filter '/spec/'
|
11
|
+
SimpleCov.minimum_coverage(90)
|
7
12
|
end
|
8
13
|
|
9
|
-
|
14
|
+
require 'bundler/setup'
|
15
|
+
require 'byebug'
|
16
|
+
require 'securerandom'
|
17
|
+
|
18
|
+
Dir['./spec/support/**/*.rb'].each { |f| require f }
|
10
19
|
|
11
20
|
RSpec.configure do |config|
|
12
21
|
config.expect_with :rspec do |expectations|
|
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: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hannah Bottalla
|
@@ -9,22 +9,28 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-09-
|
12
|
+
date: 2017-09-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - ">="
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 4.2.9
|
21
|
+
- - "<"
|
19
22
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
23
|
+
version: '5.2'
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
|
-
- - "
|
28
|
+
- - ">="
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: 4.2.9
|
31
|
+
- - "<"
|
26
32
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
33
|
+
version: '5.2'
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: dry-struct
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
@@ -45,154 +51,180 @@ dependencies:
|
|
45
51
|
requirements:
|
46
52
|
- - "~>"
|
47
53
|
- !ruby/object:Gem::Version
|
48
|
-
version: 1.2
|
54
|
+
version: '1.2'
|
49
55
|
type: :runtime
|
50
56
|
prerelease: false
|
51
57
|
version_requirements: !ruby/object:Gem::Requirement
|
52
58
|
requirements:
|
53
59
|
- - "~>"
|
54
60
|
- !ruby/object:Gem::Version
|
55
|
-
version: 1.2
|
61
|
+
version: '1.2'
|
56
62
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
63
|
+
name: nokogiri
|
58
64
|
requirement: !ruby/object:Gem::Requirement
|
59
65
|
requirements:
|
60
|
-
- - "
|
66
|
+
- - ">="
|
61
67
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
63
|
-
|
68
|
+
version: 1.6.8
|
69
|
+
- - "<"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '1.9'
|
72
|
+
type: :runtime
|
64
73
|
prerelease: false
|
65
74
|
version_requirements: !ruby/object:Gem::Requirement
|
66
75
|
requirements:
|
67
|
-
- - "
|
76
|
+
- - ">="
|
68
77
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
78
|
+
version: 1.6.8
|
79
|
+
- - "<"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '1.9'
|
70
82
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
83
|
+
name: sanitize
|
72
84
|
requirement: !ruby/object:Gem::Requirement
|
73
85
|
requirements:
|
74
|
-
- - "
|
86
|
+
- - ">="
|
75
87
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
77
|
-
|
88
|
+
version: 4.2.0
|
89
|
+
- - "<"
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '5.0'
|
92
|
+
type: :runtime
|
78
93
|
prerelease: false
|
79
94
|
version_requirements: !ruby/object:Gem::Requirement
|
80
95
|
requirements:
|
81
|
-
- - "
|
96
|
+
- - ">="
|
82
97
|
- !ruby/object:Gem::Version
|
83
|
-
version:
|
98
|
+
version: 4.2.0
|
99
|
+
- - "<"
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '5.0'
|
84
102
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
103
|
+
name: bundler
|
86
104
|
requirement: !ruby/object:Gem::Requirement
|
87
105
|
requirements:
|
88
|
-
- - "
|
106
|
+
- - "~>"
|
89
107
|
- !ruby/object:Gem::Version
|
90
|
-
version: '
|
108
|
+
version: '1.15'
|
91
109
|
type: :development
|
92
110
|
prerelease: false
|
93
111
|
version_requirements: !ruby/object:Gem::Requirement
|
94
112
|
requirements:
|
95
|
-
- - "
|
113
|
+
- - "~>"
|
96
114
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
115
|
+
version: '1.15'
|
98
116
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
117
|
+
name: byebug
|
100
118
|
requirement: !ruby/object:Gem::Requirement
|
101
119
|
requirements:
|
102
|
-
- - "
|
120
|
+
- - "~>"
|
103
121
|
- !ruby/object:Gem::Version
|
104
|
-
version: '0'
|
122
|
+
version: '9.0'
|
105
123
|
type: :development
|
106
124
|
prerelease: false
|
107
125
|
version_requirements: !ruby/object:Gem::Requirement
|
108
126
|
requirements:
|
109
|
-
- - "
|
127
|
+
- - "~>"
|
110
128
|
- !ruby/object:Gem::Version
|
111
|
-
version: '0'
|
129
|
+
version: '9.0'
|
112
130
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
131
|
+
name: rake
|
114
132
|
requirement: !ruby/object:Gem::Requirement
|
115
133
|
requirements:
|
116
|
-
- - "
|
134
|
+
- - "~>"
|
117
135
|
- !ruby/object:Gem::Version
|
118
136
|
version: '0'
|
119
137
|
type: :development
|
120
138
|
prerelease: false
|
121
139
|
version_requirements: !ruby/object:Gem::Requirement
|
122
140
|
requirements:
|
123
|
-
- - "
|
141
|
+
- - "~>"
|
124
142
|
- !ruby/object:Gem::Version
|
125
143
|
version: '0'
|
126
144
|
- !ruby/object:Gem::Dependency
|
127
|
-
name:
|
145
|
+
name: rspec
|
128
146
|
requirement: !ruby/object:Gem::Requirement
|
129
147
|
requirements:
|
130
|
-
- -
|
148
|
+
- - "~>"
|
131
149
|
- !ruby/object:Gem::Version
|
132
|
-
version:
|
150
|
+
version: '3.6'
|
133
151
|
type: :development
|
134
152
|
prerelease: false
|
135
153
|
version_requirements: !ruby/object:Gem::Requirement
|
136
154
|
requirements:
|
137
|
-
- -
|
155
|
+
- - "~>"
|
138
156
|
- !ruby/object:Gem::Version
|
139
|
-
version:
|
157
|
+
version: '3.6'
|
140
158
|
- !ruby/object:Gem::Dependency
|
141
|
-
name:
|
159
|
+
name: rspec-mocks
|
142
160
|
requirement: !ruby/object:Gem::Requirement
|
143
161
|
requirements:
|
144
162
|
- - "~>"
|
145
163
|
- !ruby/object:Gem::Version
|
146
|
-
version:
|
164
|
+
version: '3.6'
|
147
165
|
type: :development
|
148
166
|
prerelease: false
|
149
167
|
version_requirements: !ruby/object:Gem::Requirement
|
150
168
|
requirements:
|
151
169
|
- - "~>"
|
152
170
|
- !ruby/object:Gem::Version
|
153
|
-
version:
|
171
|
+
version: '3.6'
|
154
172
|
- !ruby/object:Gem::Dependency
|
155
173
|
name: pry
|
156
174
|
requirement: !ruby/object:Gem::Requirement
|
157
175
|
requirements:
|
158
|
-
- - "
|
176
|
+
- - "~>"
|
159
177
|
- !ruby/object:Gem::Version
|
160
178
|
version: '0'
|
161
179
|
type: :development
|
162
180
|
prerelease: false
|
163
181
|
version_requirements: !ruby/object:Gem::Requirement
|
164
182
|
requirements:
|
165
|
-
- - "
|
183
|
+
- - "~>"
|
166
184
|
- !ruby/object:Gem::Version
|
167
185
|
version: '0'
|
168
186
|
- !ruby/object:Gem::Dependency
|
169
187
|
name: rubocop
|
170
188
|
requirement: !ruby/object:Gem::Requirement
|
171
189
|
requirements:
|
172
|
-
- - "
|
190
|
+
- - "~>"
|
173
191
|
- !ruby/object:Gem::Version
|
174
|
-
version:
|
192
|
+
version: 0.50.0
|
175
193
|
type: :development
|
176
194
|
prerelease: false
|
177
195
|
version_requirements: !ruby/object:Gem::Requirement
|
178
196
|
requirements:
|
179
|
-
- - "
|
197
|
+
- - "~>"
|
180
198
|
- !ruby/object:Gem::Version
|
181
|
-
version:
|
199
|
+
version: 0.50.0
|
182
200
|
- !ruby/object:Gem::Dependency
|
183
201
|
name: simplecov
|
184
202
|
requirement: !ruby/object:Gem::Requirement
|
185
203
|
requirements:
|
186
|
-
- - "
|
204
|
+
- - "~>"
|
187
205
|
- !ruby/object:Gem::Version
|
188
206
|
version: '0'
|
189
207
|
type: :development
|
190
208
|
prerelease: false
|
191
209
|
version_requirements: !ruby/object:Gem::Requirement
|
192
210
|
requirements:
|
193
|
-
- - "
|
211
|
+
- - "~>"
|
194
212
|
- !ruby/object:Gem::Version
|
195
213
|
version: '0'
|
214
|
+
- !ruby/object:Gem::Dependency
|
215
|
+
name: wwtd
|
216
|
+
requirement: !ruby/object:Gem::Requirement
|
217
|
+
requirements:
|
218
|
+
- - "~>"
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: '1.3'
|
221
|
+
type: :development
|
222
|
+
prerelease: false
|
223
|
+
version_requirements: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - "~>"
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: '1.3'
|
196
228
|
description:
|
197
229
|
email:
|
198
230
|
- hannah@instructure.com
|
@@ -249,6 +281,7 @@ files:
|
|
249
281
|
- lib/qti/v2/models/non_assessment_test.rb
|
250
282
|
- lib/qti/v2/models/scoring_data.rb
|
251
283
|
- lib/qti/v2/models/stimulus_item.rb
|
284
|
+
- lib/qti/version.rb
|
252
285
|
- spec/fixtures/items_1.2/choice.xml
|
253
286
|
- spec/fixtures/items_1.2/essay.xml
|
254
287
|
- spec/fixtures/items_1.2/fib.xml
|
@@ -460,6 +493,13 @@ files:
|
|
460
493
|
- spec/fixtures/tests/tests/rtest25.xml
|
461
494
|
- spec/fixtures/tests/tests/rtest26.xml
|
462
495
|
- spec/fixtures/tests/tests/rtest27.xml
|
496
|
+
- spec/gemfiles/nokogiri-1.6.gemfile
|
497
|
+
- spec/gemfiles/nokogiri-1.8.gemfile
|
498
|
+
- spec/gemfiles/rails-4.2.gemfile
|
499
|
+
- spec/gemfiles/rails-5.0.gemfile
|
500
|
+
- spec/gemfiles/rails-5.1.gemfile
|
501
|
+
- spec/gemfiles/sanitize-4.2.gemfile
|
502
|
+
- spec/gemfiles/sanitize-4.5.gemfile
|
463
503
|
- spec/lib/qti/assessment_item_exporter_spec.rb
|
464
504
|
- spec/lib/qti/exporter_spec.rb
|
465
505
|
- spec/lib/qti/models/base_spec.rb
|
@@ -492,8 +532,9 @@ files:
|
|
492
532
|
- spec/lib/qti_spec.rb
|
493
533
|
- spec/spec_helper.rb
|
494
534
|
- spec/support/custom_matchers.rb
|
495
|
-
homepage:
|
496
|
-
licenses:
|
535
|
+
homepage: https://github.com/instructure/qti
|
536
|
+
licenses:
|
537
|
+
- MIT
|
497
538
|
metadata: {}
|
498
539
|
post_install_message:
|
499
540
|
rdoc_options: []
|
@@ -727,6 +768,13 @@ test_files:
|
|
727
768
|
- spec/fixtures/tests/tests/rtest25.xml
|
728
769
|
- spec/fixtures/tests/tests/rtest26.xml
|
729
770
|
- spec/fixtures/tests/tests/rtest27.xml
|
771
|
+
- spec/gemfiles/nokogiri-1.6.gemfile
|
772
|
+
- spec/gemfiles/nokogiri-1.8.gemfile
|
773
|
+
- spec/gemfiles/rails-4.2.gemfile
|
774
|
+
- spec/gemfiles/rails-5.0.gemfile
|
775
|
+
- spec/gemfiles/rails-5.1.gemfile
|
776
|
+
- spec/gemfiles/sanitize-4.2.gemfile
|
777
|
+
- spec/gemfiles/sanitize-4.5.gemfile
|
730
778
|
- spec/lib/qti/assessment_item_exporter_spec.rb
|
731
779
|
- spec/lib/qti/exporter_spec.rb
|
732
780
|
- spec/lib/qti/models/base_spec.rb
|