qti 0.8.3 → 0.9.0

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: 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