mettlr 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mettlr.rb +2 -0
- data/lib/mettlr/models/schedule.rb +42 -0
- data/lib/mettlr/version.rb +1 -1
- data/mettlr.gemspec +2 -0
- metadata +29 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 219ab92143d48bf23334afe62aade303a4d408fc
|
4
|
+
data.tar.gz: 02524abaff7e64f7d1c261a69c1957f4ade32eb0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 66b07a51d8355c2417a1dd28a37e6e777f5a834beeb9bae6a0c29ad097b8f7a529cb6160f83b46bed0f44ff6d7b1dc5929428b6bb3a3d199d5b2c5759e016fdb
|
7
|
+
data.tar.gz: 7404d98b66d1d74e936b2fb7916e0dbabf6424dfb16bd45497f76febe593de5e921173b34f5d283bab5d4e6b10ad2a1ab1803ee9538f14aa4a1e2e20773a030e
|
data/lib/mettlr.rb
CHANGED
@@ -1,5 +1,24 @@
|
|
1
|
+
require 'ostruct'
|
1
2
|
module Mettlr
|
2
3
|
class Schedule < Base
|
4
|
+
extend Dry::Initializer
|
5
|
+
option :assessment_id, types: Dry::Types['strict.int']
|
6
|
+
option :name, type: Dry::Types['coercible.string']
|
7
|
+
option :image_proctoring, type: Dry::Types['bool']
|
8
|
+
option :is_candidate_auth_proctored, type: Dry::Types['bool']
|
9
|
+
option :access, type: Dry::Types['hash']
|
10
|
+
option :web_proctoring, type: Dry::Types['hash']
|
11
|
+
option :schedule_type, type: Dry::Types['string']
|
12
|
+
option :ip_access_restriction, type: Dry::Types['hash']
|
13
|
+
option :test_grade_notification, type: Dry::Types['hash']
|
14
|
+
option :allow_copy_paste, type: Dry::Types['bool']
|
15
|
+
option :source_app, Dry::Types['coercible.string']
|
16
|
+
option :test_start_notification_url, type: Dry::Types['strict.string']
|
17
|
+
option :test_finish_notification_url, type: Dry::Types['strict.string']
|
18
|
+
option :test_graded_notification_url, type: Dry::Types['strict.string']
|
19
|
+
option :test_resume_enabled_for_expired_test_url, optional: true
|
20
|
+
option :exit_redirection_url, optional: true
|
21
|
+
option :schedule_window
|
3
22
|
def self.find_all
|
4
23
|
Mettlr::Connection.get("/v1/schedules").body.schedules.map {|x| new(x)}
|
5
24
|
end
|
@@ -7,5 +26,28 @@ module Mettlr
|
|
7
26
|
options = {"rd" => {"registrationDetails" => [candidate.to_params]}}
|
8
27
|
Mettlr::Connection.post("/v1/schedules/#{access_key}/candidates", options)
|
9
28
|
end
|
29
|
+
def create!
|
30
|
+
Mettlr::Connection.post("/v1/assessments/#{@assessment_id}/schedules", to_param)
|
31
|
+
end
|
32
|
+
def to_param
|
33
|
+
{"sc" => { "assessmentId" => @assessment_id,
|
34
|
+
"name" => @name,
|
35
|
+
"imageProctoring" => @image_proctoring,
|
36
|
+
"isCandidateAuthProctored": @is_candidate_auth_proctored,
|
37
|
+
"webProctoring" => @web_proctoring,
|
38
|
+
"scheduleWindow" => @schedule_window,
|
39
|
+
"scheduleType" => @schedule_type,
|
40
|
+
"access" => @access,
|
41
|
+
"sourceApp" => @source_app,
|
42
|
+
"ipAccessRestriction" => @ip_access_restriction,
|
43
|
+
"testGradeNotification" => @test_grade_notification,
|
44
|
+
"allowCopyPaste" => @allow_copy_paste,
|
45
|
+
"exitRedirectionUrl" => @exit_redirection_url,
|
46
|
+
"testStartNotificationUrl" => @test_start_notification_url,
|
47
|
+
"testFinishNotificationUrl" => @test_finish_notification_url,
|
48
|
+
"testGradedNotificationUrl" => @test_graded_notification_url,
|
49
|
+
"testResumeEnabledForExpiredTestURL" => @test_resume_enabled_for_expired_test_url}
|
50
|
+
}
|
51
|
+
end
|
10
52
|
end
|
11
53
|
end
|
data/lib/mettlr/version.rb
CHANGED
data/mettlr.gemspec
CHANGED
@@ -33,6 +33,8 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_dependency 'faraday_middleware'
|
34
34
|
spec.add_dependency "hashie"
|
35
35
|
spec.add_dependency "activesupport"
|
36
|
+
spec.add_dependency "dry-initializer"
|
37
|
+
spec.add_dependency "dry-types"
|
36
38
|
spec.add_development_dependency "bundler", "~> 1.14"
|
37
39
|
spec.add_development_dependency "rake", "~> 10.0"
|
38
40
|
spec.add_development_dependency "rspec", "~> 3.0"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mettlr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Danko
|
@@ -66,6 +66,34 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: dry-initializer
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: dry-types
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: bundler
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|