scorm_engine 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/Rakefile +2 -0
- data/lib/scorm_engine/configuration.rb +4 -4
- data/lib/scorm_engine/faraday/request.rb +1 -3
- data/lib/scorm_engine/models/dispatch_zip.rb +2 -0
- data/lib/scorm_engine/models/registration.rb +2 -0
- data/lib/scorm_engine/version.rb +1 -1
- data/spec/scorm_engine/api/endpoints/configuration_spec.rb +2 -2
- data/spec/scorm_engine/api/endpoints/registrations_spec.rb +2 -2
- data/spec/scorm_engine/faraday/connection_spec.rb +1 -1
- data/spec/scorm_engine/models/base_spec.rb +9 -7
- data/spec/spec_helper.rb +5 -2
- data/spec/support/scorm_engine.rb +2 -4
- metadata +33 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a01b32c7b8dca247cfeff31eeec10efe24b2212e219b8fec0b76cc95571be773
|
4
|
+
data.tar.gz: 9d75ef9166e52ae9d52bdc8bf475c48d74803502eb37163f360205476705043e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43be376e8bfb18097d9987a8fdf2bf71c7f07025160aa3df759b16d89222d7d85eb2e7cdc7b9d735921f143761d02608b784f50cf9497f098ad1092ca29f993d
|
7
|
+
data.tar.gz: 7d2a84544f3063591f595bb9f44163c17b88c0019b990f218d7137218aac2a1abf9cb9009f708291ea63db39307e9e39ca20ae56654d3880ac2afd8a5996b091
|
data/Rakefile
CHANGED
@@ -37,10 +37,10 @@ module ScormEngine
|
|
37
37
|
@logger = ::Logger.new(ENV.fetch("SCORM_ENGINE_LOGFILE", "/dev/null"))
|
38
38
|
|
39
39
|
@log_options = begin
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
40
|
+
JSON.parse(ENV.fetch("SCORM_ENGINE_LOG_OPTIONS"))
|
41
|
+
rescue KeyError, JSON::ParserError
|
42
|
+
{ headers: false, bodies: false }
|
43
|
+
end
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
@@ -34,9 +34,7 @@ module ScormEngine
|
|
34
34
|
request.headers["engineTenantName"] = tenant unless @without_tenant
|
35
35
|
else
|
36
36
|
# "more" pagination urls are fully or relatively qualified
|
37
|
-
unless path =~ %r{\Ahttps?://} || path.start_with?(base_uri.path)
|
38
|
-
path = "#{tenant}/#{path}"
|
39
|
-
end
|
37
|
+
path = "#{tenant}/#{path}" unless path =~ %r{\Ahttps?://} || path.start_with?(base_uri.path)
|
40
38
|
end
|
41
39
|
|
42
40
|
options = coerce_options(options)
|
@@ -21,6 +21,7 @@ module ScormEngine
|
|
21
21
|
# @return [String]
|
22
22
|
attr_accessor :body
|
23
23
|
|
24
|
+
# rubocop:disable Lint/MissingSuper
|
24
25
|
def initialize(options = {})
|
25
26
|
@options = options.dup
|
26
27
|
@dispatch_id = options[:dispatch_id]
|
@@ -28,6 +29,7 @@ module ScormEngine
|
|
28
29
|
@filename = options[:filename]
|
29
30
|
@body = options[:body]
|
30
31
|
end
|
32
|
+
# rubocop:enable Lint/MissingSuper
|
31
33
|
end
|
32
34
|
end
|
33
35
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
module ScormEngine
|
2
2
|
module Models
|
3
|
+
# rubocop:disable Metrics/AbcSize
|
3
4
|
class Registration < Base
|
4
5
|
# @attr
|
5
6
|
# The external identification of the registration.
|
@@ -183,5 +184,6 @@ module ScormEngine
|
|
183
184
|
Time.parse(completed_date)
|
184
185
|
end
|
185
186
|
end
|
187
|
+
# rubocop:enable Metrics/AbcSize
|
186
188
|
end
|
187
189
|
end
|
data/lib/scorm_engine/version.rb
CHANGED
@@ -19,7 +19,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Configuration do
|
|
19
19
|
end
|
20
20
|
|
21
21
|
it "returns metadata in raw_response when included in options" do
|
22
|
-
expect(subject.raw_response.body[
|
22
|
+
expect(subject.raw_response.body["settingItems"].first["metadata"]).to_not be_nil
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
@@ -43,7 +43,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Configuration do
|
|
43
43
|
expect(configuration["UserCountReportLookBackDays"]).to eq "90"
|
44
44
|
expect(configuration["UserCountReportDaysBetweenReports"]).to eq "20"
|
45
45
|
|
46
|
-
|
46
|
+
subject.post_app_configuration(
|
47
47
|
settings: { "UserCountReportLookBackDays" => "365",
|
48
48
|
"UserCountReportDaysBetweenReports" => 30 }
|
49
49
|
)
|
@@ -22,7 +22,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Registrations do
|
|
22
22
|
against_real_scorm_engine do
|
23
23
|
ensure_course_exists(client: subject, course_id: registration_options[:course_id])
|
24
24
|
ensure_registration_exists(registration_options.merge(client: subject))
|
25
|
-
ensure_course_exists(client: subject, course_id: registration_options[:course_id]
|
25
|
+
ensure_course_exists(client: subject, course_id: "#{registration_options[:course_id]}-no-registrations")
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
@@ -50,7 +50,7 @@ RSpec.describe ScormEngine::Api::Endpoints::Registrations do
|
|
50
50
|
end
|
51
51
|
|
52
52
|
it "excludes results" do
|
53
|
-
registrations = subject.get_registrations(course_id: registration_options[:course_id]
|
53
|
+
registrations = subject.get_registrations(course_id: "#{registration_options[:course_id]}-no-registrations")
|
54
54
|
reg = registrations.result.detect { |r| r.id == registration_options[:registration_id] }
|
55
55
|
expect(reg).to be nil
|
56
56
|
end
|
@@ -32,7 +32,7 @@ RSpec.describe ScormEngine::Faraday::Connection do
|
|
32
32
|
client = ScormEngine::Client.new(tenant: "test")
|
33
33
|
|
34
34
|
expect(client).to receive(:base_uri).with(version: 2).and_call_original
|
35
|
-
client.send(:connection,
|
35
|
+
client.send(:connection, version: 2)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
@@ -1,14 +1,16 @@
|
|
1
|
-
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
end
|
1
|
+
module ScormEngine
|
2
|
+
module Models
|
3
|
+
class Test < Base
|
4
|
+
# rubocop:disable Lint/MissingSuper
|
5
|
+
def initialize(options = {})
|
6
|
+
@options = options
|
8
7
|
end
|
8
|
+
# rubocop:enable Lint/MissingSuper
|
9
9
|
end
|
10
10
|
end
|
11
|
+
end
|
11
12
|
|
13
|
+
RSpec.describe ScormEngine::Models::Base do
|
12
14
|
describe "#to_hash" do
|
13
15
|
it "returns a hash of the options" do
|
14
16
|
options = { i: 1, s: "str", a: [1, 2, 3] }
|
data/spec/spec_helper.rb
CHANGED
@@ -4,7 +4,10 @@ require "pry"
|
|
4
4
|
require "scorm_engine"
|
5
5
|
|
6
6
|
# Ensure we're picking up only the test scorm settings
|
7
|
-
Dotenv.load(".env.test"
|
7
|
+
Dotenv.load(".env.test.local",
|
8
|
+
".env.test",
|
9
|
+
".env.local",
|
10
|
+
".env")
|
8
11
|
|
9
12
|
RSpec.configure do |config|
|
10
13
|
# Enable flags like --only-failures and --next-failure
|
@@ -42,6 +45,6 @@ RSpec.configure do |config|
|
|
42
45
|
end
|
43
46
|
|
44
47
|
# Require every spec support file
|
45
|
-
Dir[File.join(File.dirname(__FILE__), "support", "**/*.rb")].each do |file|
|
48
|
+
Dir[File.join(File.dirname(__FILE__), "support", "**/*.rb")].sort.each do |file|
|
46
49
|
require file
|
47
50
|
end
|
@@ -7,13 +7,11 @@ module ScormEngineHelpers
|
|
7
7
|
# importing a course and play it back other tests that expect the actual
|
8
8
|
# record to exist in SCORM will fail.
|
9
9
|
#
|
10
|
-
def against_real_scorm_engine
|
10
|
+
def against_real_scorm_engine(&block)
|
11
11
|
return unless scorm_engine_is_available?
|
12
12
|
|
13
13
|
cassette = VCR.eject_cassette
|
14
|
-
VCR.turned_off
|
15
|
-
yield
|
16
|
-
end
|
14
|
+
VCR.turned_off(&block)
|
17
15
|
VCR.insert_cassette(cassette.name, cassette.instance_variable_get(:@options))
|
18
16
|
end
|
19
17
|
|
metadata
CHANGED
@@ -1,58 +1,70 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scorm_engine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Philip Hallstrom
|
8
8
|
- Mel Green
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 1980-01-01 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - "
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '0.12'
|
21
|
+
- - "<="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '2.0'
|
21
24
|
type: :runtime
|
22
25
|
prerelease: false
|
23
26
|
version_requirements: !ruby/object:Gem::Requirement
|
24
27
|
requirements:
|
25
|
-
- - "
|
28
|
+
- - ">="
|
26
29
|
- !ruby/object:Gem::Version
|
27
30
|
version: '0.12'
|
31
|
+
- - "<="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.0'
|
28
34
|
- !ruby/object:Gem::Dependency
|
29
35
|
name: faraday_middleware
|
30
36
|
requirement: !ruby/object:Gem::Requirement
|
31
37
|
requirements:
|
32
|
-
- - "
|
38
|
+
- - ">="
|
33
39
|
- !ruby/object:Gem::Version
|
34
40
|
version: '0.12'
|
41
|
+
- - "<="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '2.0'
|
35
44
|
type: :runtime
|
36
45
|
prerelease: false
|
37
46
|
version_requirements: !ruby/object:Gem::Requirement
|
38
47
|
requirements:
|
39
|
-
- - "
|
48
|
+
- - ">="
|
40
49
|
- !ruby/object:Gem::Version
|
41
50
|
version: '0.12'
|
51
|
+
- - "<="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '2.0'
|
42
54
|
- !ruby/object:Gem::Dependency
|
43
55
|
name: bundler
|
44
56
|
requirement: !ruby/object:Gem::Requirement
|
45
57
|
requirements:
|
46
58
|
- - "~>"
|
47
59
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
60
|
+
version: '2.0'
|
49
61
|
type: :development
|
50
62
|
prerelease: false
|
51
63
|
version_requirements: !ruby/object:Gem::Requirement
|
52
64
|
requirements:
|
53
65
|
- - "~>"
|
54
66
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
67
|
+
version: '2.0'
|
56
68
|
- !ruby/object:Gem::Dependency
|
57
69
|
name: dotenv
|
58
70
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,14 +85,14 @@ dependencies:
|
|
73
85
|
requirements:
|
74
86
|
- - "~>"
|
75
87
|
- !ruby/object:Gem::Version
|
76
|
-
version: '0.
|
88
|
+
version: '0.1'
|
77
89
|
type: :development
|
78
90
|
prerelease: false
|
79
91
|
version_requirements: !ruby/object:Gem::Requirement
|
80
92
|
requirements:
|
81
93
|
- - "~>"
|
82
94
|
- !ruby/object:Gem::Version
|
83
|
-
version: '0.
|
95
|
+
version: '0.1'
|
84
96
|
- !ruby/object:Gem::Dependency
|
85
97
|
name: rake
|
86
98
|
requirement: !ruby/object:Gem::Requirement
|
@@ -115,14 +127,14 @@ dependencies:
|
|
115
127
|
requirements:
|
116
128
|
- - "~>"
|
117
129
|
- !ruby/object:Gem::Version
|
118
|
-
version: '0
|
130
|
+
version: '1.0'
|
119
131
|
type: :development
|
120
132
|
prerelease: false
|
121
133
|
version_requirements: !ruby/object:Gem::Requirement
|
122
134
|
requirements:
|
123
135
|
- - "~>"
|
124
136
|
- !ruby/object:Gem::Version
|
125
|
-
version: '0
|
137
|
+
version: '1.0'
|
126
138
|
- !ruby/object:Gem::Dependency
|
127
139
|
name: rubyzip
|
128
140
|
requirement: !ruby/object:Gem::Requirement
|
@@ -143,14 +155,14 @@ dependencies:
|
|
143
155
|
requirements:
|
144
156
|
- - "~>"
|
145
157
|
- !ruby/object:Gem::Version
|
146
|
-
version: '
|
158
|
+
version: '6.0'
|
147
159
|
type: :development
|
148
160
|
prerelease: false
|
149
161
|
version_requirements: !ruby/object:Gem::Requirement
|
150
162
|
requirements:
|
151
163
|
- - "~>"
|
152
164
|
- !ruby/object:Gem::Version
|
153
|
-
version: '
|
165
|
+
version: '6.0'
|
154
166
|
- !ruby/object:Gem::Dependency
|
155
167
|
name: yard
|
156
168
|
requirement: !ruby/object:Gem::Requirement
|
@@ -408,8 +420,9 @@ files:
|
|
408
420
|
homepage: https://github.com/instructure-bridge/scorm_engine
|
409
421
|
licenses:
|
410
422
|
- MIT
|
411
|
-
metadata:
|
412
|
-
|
423
|
+
metadata:
|
424
|
+
documentation_uri: https://instructure-bridge.github.io/scorm_engine/
|
425
|
+
post_install_message:
|
413
426
|
rdoc_options: []
|
414
427
|
require_paths:
|
415
428
|
- lib
|
@@ -417,16 +430,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
417
430
|
requirements:
|
418
431
|
- - ">="
|
419
432
|
- !ruby/object:Gem::Version
|
420
|
-
version: '
|
433
|
+
version: '2.5'
|
421
434
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
422
435
|
requirements:
|
423
436
|
- - ">="
|
424
437
|
- !ruby/object:Gem::Version
|
425
438
|
version: '0'
|
426
439
|
requirements: []
|
427
|
-
|
428
|
-
|
429
|
-
signing_key:
|
440
|
+
rubygems_version: 3.1.3
|
441
|
+
signing_key:
|
430
442
|
specification_version: 4
|
431
443
|
summary: Ruby Client for Rustici's SCORM Engine API
|
432
444
|
test_files: []
|