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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9501025b957fd152a06d9f8fbcd0a43f18231307
4
- data.tar.gz: 780e5d82d983e6d94aea40574865d2d6f59a6c6b
3
+ metadata.gz: 96229366751c574392ef6478af9c08bad96cec41
4
+ data.tar.gz: ef9619aa3bdf5d8f83c46839f8d04953a79a717b
5
5
  SHA512:
6
- metadata.gz: 05be9883791183dc3a1c8261b814cacd48e2a960c7755e004e5e6ed3f210aba9da26b549bd6dbda3a9753cc94cbfbe976709ded15f79f8fb0045a71b8b8a1144
7
- data.tar.gz: 77d486e5b21b022b9787448db926c2028341f07ed01731b07c67b0f5b2c48147145a5894554fcd769f49b289de43b287f352637205af966441ae937dc5905414
6
+ metadata.gz: e9b5a5f1d726675d1cf1b5e161120c73a23ac1c20e633cd738787c9d3f5edbfad5618ac52fcabcb779789c4a2d04b019b386ba99a1819d8316c0c6d5da6dae61
7
+ data.tar.gz: 9fa1abca8886f8f5c86bc4e1bcd84a5890dc99ba2facc8e5aad2aa4642af7c95894f1970924b2018b7078400b210c7b8da5e8e43380125894416279f6fbe6074
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Qti Gem
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 items and use it in your own code!
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
- ## Running Tests
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
- Want to contribute? Please submit a pull request!
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
- ## To Do
66
- - More interaction models!
103
+ The gem is available as open source under the terms of the
104
+ [MIT License](http://opensource.org/licenses/MIT).
@@ -0,0 +1,3 @@
1
+ module Qti
2
+ VERSION = '0.9.0'.freeze
3
+ end
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '../../'
4
+
5
+ gem 'nokogiri', '~> 1.6.8'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '../../'
4
+
5
+ gem 'nokogiri', '~> 1.8.1'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '../../'
4
+
5
+ gem 'rails', '~> 4.2.9'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '../../'
4
+
5
+ gem 'rails', '~> 5.0.6'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '../../'
4
+
5
+ gem 'rails', '~> 5.1.4'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '../../'
4
+
5
+ gem 'sanitize', '~> 4.2.0'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: '../../'
4
+
5
+ gem 'sanitize', '~> 4.5.0'
@@ -1,12 +1,21 @@
1
- require 'bundler/setup'
2
- require 'byebug'
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.start do
6
- add_filter '/spec/'
11
+ SimpleCov.minimum_coverage(90)
7
12
  end
8
13
 
9
- Dir[File.expand_path(File.join(File.dirname(__FILE__),'support','**','*.rb'))].each {|f| require f}
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.8.3
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-13 00:00:00.000000000 Z
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: 4.2.6
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: 4.2.6
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.0
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.0
61
+ version: '1.2'
56
62
  - !ruby/object:Gem::Dependency
57
- name: bundler
63
+ name: nokogiri
58
64
  requirement: !ruby/object:Gem::Requirement
59
65
  requirements:
60
- - - "~>"
66
+ - - ">="
61
67
  - !ruby/object:Gem::Version
62
- version: '1.11'
63
- type: :development
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: '1.11'
78
+ version: 1.6.8
79
+ - - "<"
80
+ - !ruby/object:Gem::Version
81
+ version: '1.9'
70
82
  - !ruby/object:Gem::Dependency
71
- name: byebug
83
+ name: sanitize
72
84
  requirement: !ruby/object:Gem::Requirement
73
85
  requirements:
74
- - - "~>"
86
+ - - ">="
75
87
  - !ruby/object:Gem::Version
76
- version: 9.0.5
77
- type: :development
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: 9.0.5
98
+ version: 4.2.0
99
+ - - "<"
100
+ - !ruby/object:Gem::Version
101
+ version: '5.0'
84
102
  - !ruby/object:Gem::Dependency
85
- name: rake
103
+ name: bundler
86
104
  requirement: !ruby/object:Gem::Requirement
87
105
  requirements:
88
- - - ">="
106
+ - - "~>"
89
107
  - !ruby/object:Gem::Version
90
- version: '0'
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: '0'
115
+ version: '1.15'
98
116
  - !ruby/object:Gem::Dependency
99
- name: rspec
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: rspec-mocks
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: nokogiri
145
+ name: rspec
128
146
  requirement: !ruby/object:Gem::Requirement
129
147
  requirements:
130
- - - '='
148
+ - - "~>"
131
149
  - !ruby/object:Gem::Version
132
- version: 1.6.8
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: 1.6.8
157
+ version: '3.6'
140
158
  - !ruby/object:Gem::Dependency
141
- name: sanitize
159
+ name: rspec-mocks
142
160
  requirement: !ruby/object:Gem::Requirement
143
161
  requirements:
144
162
  - - "~>"
145
163
  - !ruby/object:Gem::Version
146
- version: 4.2.0
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: 4.2.0
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: '0'
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: '0'
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