canvas_cc 0.0.33 → 0.0.34
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +7 -10
- data/lib/canvas_cc/canvas_cc/cartridge_creator.rb +1 -0
- data/lib/canvas_cc/canvas_cc/grading_standard_writer.rb +36 -0
- data/lib/canvas_cc/canvas_cc/ims_manifest_generator.rb +2 -0
- data/lib/canvas_cc/canvas_cc/models/course.rb +2 -1
- data/lib/canvas_cc/canvas_cc/models/grading_standard.rb +9 -0
- data/lib/canvas_cc/version.rb +1 -1
- data/lib/canvas_cc.rb +2 -0
- data/spec/moodle2cc/canvas_cc/cartridge_creator_spec.rb +2 -1
- data/spec/moodle2cc/canvas_cc/grading_standard_writer_spec.rb +40 -0
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76ab79c64ff69874d3c14515e0ddf91f569ac324
|
4
|
+
data.tar.gz: c40b18e12c8ce35d13e4580e98e6eb4b9ec695f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 016b64690b99ce4af579d4b01aa7f565870ae8c6e91426ce1e70065e0e921f4f8272ca44d88fafd697105846e8bb4638c25b9a36206f600ce773e96ddd65f1a5
|
7
|
+
data.tar.gz: e3c22e9a97c7bd1de557d926ac9c44e37267299ee8029b20291e43409b269ab9d57fcd99d17eed775a04688655b1a36cdb405aa595ef05ffaa5978523eab70db
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
canvas_cc (0.0.
|
4
|
+
canvas_cc (0.0.34)
|
5
5
|
builder
|
6
6
|
happymapper
|
7
7
|
nokogiri
|
@@ -12,7 +12,7 @@ PATH
|
|
12
12
|
GEM
|
13
13
|
remote: https://rubygems.org/
|
14
14
|
specs:
|
15
|
-
builder (3.2.
|
15
|
+
builder (3.2.3)
|
16
16
|
byebug (3.5.1)
|
17
17
|
columnize (~> 0.8)
|
18
18
|
debugger-linecache (~> 1.2)
|
@@ -42,17 +42,17 @@ GEM
|
|
42
42
|
rspec (>= 2.14, < 4.0)
|
43
43
|
happymapper (0.4.1)
|
44
44
|
libxml-ruby (~> 2.0)
|
45
|
-
libxml-ruby (2.
|
45
|
+
libxml-ruby (2.9.0)
|
46
46
|
listen (2.7.9)
|
47
47
|
celluloid (>= 0.15.2)
|
48
48
|
rb-fsevent (>= 0.9.3)
|
49
49
|
rb-inotify (>= 0.9)
|
50
50
|
lumberjack (1.0.9)
|
51
51
|
method_source (0.8.2)
|
52
|
-
mini_portile2 (2.
|
52
|
+
mini_portile2 (2.2.0)
|
53
53
|
minitest (5.4.1)
|
54
|
-
nokogiri (1.
|
55
|
-
mini_portile2 (~> 2.
|
54
|
+
nokogiri (1.8.0)
|
55
|
+
mini_portile2 (~> 2.2.0)
|
56
56
|
pry (0.10.1)
|
57
57
|
coderay (~> 1.1.0)
|
58
58
|
method_source (~> 0.8.1)
|
@@ -70,7 +70,7 @@ GEM
|
|
70
70
|
rspec-expectations (2.99.2)
|
71
71
|
diff-lcs (>= 1.1.3, < 2.0)
|
72
72
|
rspec-mocks (2.99.2)
|
73
|
-
rubyzip (1.2.
|
73
|
+
rubyzip (1.2.1)
|
74
74
|
slop (3.6.0)
|
75
75
|
thor (0.19.1)
|
76
76
|
timers (1.1.0)
|
@@ -90,6 +90,3 @@ DEPENDENCIES
|
|
90
90
|
pry
|
91
91
|
rake
|
92
92
|
rspec (~> 2)
|
93
|
-
|
94
|
-
BUNDLED WITH
|
95
|
-
1.10.0
|
@@ -42,6 +42,7 @@ module CanvasCc::CanvasCC
|
|
42
42
|
CanvasCc::CanvasCC::CanvasExportWriter.new(dir).write
|
43
43
|
CanvasCc::CanvasCC::CourseSettingWriter.new(dir, @course).write
|
44
44
|
CanvasCc::CanvasCC::CourseSyllabusWriter.new(dir, @course.syllabus).write
|
45
|
+
CanvasCc::CanvasCC::GradingStandardWriter.new(dir, @course.grading_standards).write
|
45
46
|
CanvasCc::CanvasCC::AssignmentGroupWriter.new(dir, @course.assignment_groups).write
|
46
47
|
CanvasCc::CanvasCC::ModuleMetaWriter.new(dir, *@course.canvas_modules).write
|
47
48
|
CanvasCc::CanvasCC::ImsManifestGenerator.new(dir, @course).write
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module CanvasCc::CanvasCC
|
2
|
+
class GradingStandardWriter
|
3
|
+
GRADING_STANDARD_FILE = 'grading_standards.xml'
|
4
|
+
|
5
|
+
def initialize(work_dir, grading_standards)
|
6
|
+
@work_dir = work_dir
|
7
|
+
@grading_standards = grading_standards
|
8
|
+
end
|
9
|
+
|
10
|
+
def write
|
11
|
+
xml = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
|
12
|
+
write_grading_standards(xml) do |xml|
|
13
|
+
@grading_standards.each do |gs|
|
14
|
+
xml.gradingStandard(identifier: gs.identifier, version: gs.version){
|
15
|
+
xml.title gs.title
|
16
|
+
xml.data gs.data
|
17
|
+
}
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end.to_xml
|
21
|
+
File.open(File.join(@work_dir, CanvasCc::CanvasCC::CartridgeCreator::COURSE_SETTINGS_DIR, GRADING_STANDARD_FILE), 'w') { |f| f.write(xml) }
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def write_grading_standards(xml)
|
27
|
+
xml.gradingStandards(
|
28
|
+
'xmlns' => 'http://canvas.instructure.com/xsd/cccv1p0',
|
29
|
+
'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance',
|
30
|
+
'xsi:schemaLocation' => 'http://canvas.instructure.com/xsd/cccv1p0 http://canvas.instructure.com/xsd/cccv1p0.xsd'
|
31
|
+
) {
|
32
|
+
yield xml
|
33
|
+
}
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -114,9 +114,11 @@ module CanvasCc::CanvasCC
|
|
114
114
|
export_file = File.join(course_setting_dir, CanvasCc::CanvasCC::CanvasExportWriter::CANVAS_EXPORT_FILE)
|
115
115
|
course_setting_file = File.join(course_setting_dir, CanvasCc::CanvasCC::CourseSettingWriter::COURSE_SETTINGS_FILE)
|
116
116
|
module_meta_file = File.join(course_setting_dir, CanvasCc::CanvasCC::ModuleMetaWriter::MODULE_META_FILE)
|
117
|
+
grading_standards_file = File.join(course_setting_dir, CanvasCc::CanvasCC::GradingStandardWriter::GRADING_STANDARD_FILE)
|
117
118
|
xml.resource('identifier' => @course.identifier + SETTINGS_POSTFIX, 'type' => TYPE_LAR, 'href' => export_file) { |xml|
|
118
119
|
xml.file('href' => course_setting_file)
|
119
120
|
xml.file('href' => module_meta_file) if @course.canvas_modules.count > 0
|
121
|
+
xml.file('href' => grading_standards_file)
|
120
122
|
}
|
121
123
|
end
|
122
124
|
|
@@ -2,7 +2,8 @@ module CanvasCc::CanvasCC::Models
|
|
2
2
|
class Course
|
3
3
|
|
4
4
|
attr_accessor :format, :identifier, :copyright, :settings, :resources, :canvas_modules, :files, :pages, :discussions,
|
5
|
-
:assignments, :assessments, :question_banks, :assignment_groups, :folders, :syllabus, :outcomes, :rubrics
|
5
|
+
:assignments, :assessments, :question_banks, :assignment_groups, :folders, :syllabus, :outcomes, :rubrics,
|
6
|
+
:grading_standards
|
6
7
|
|
7
8
|
def initialize
|
8
9
|
@settings = {}
|
data/lib/canvas_cc/version.rb
CHANGED
data/lib/canvas_cc.rb
CHANGED
@@ -53,6 +53,7 @@ module CanvasCc
|
|
53
53
|
autoload :DiscussionWriter, 'canvas_cc/canvas_cc/discussion_writer'
|
54
54
|
autoload :AssignmentWriter, 'canvas_cc/canvas_cc/assignment_writer'
|
55
55
|
autoload :AssignmentGroupWriter, 'canvas_cc/canvas_cc/assignment_group_writer'
|
56
|
+
autoload :GradingStandardWriter, 'canvas_cc/canvas_cc/grading_standard_writer'
|
56
57
|
autoload :CourseSyllabusWriter, 'canvas_cc/canvas_cc/course_syllabus_writer'
|
57
58
|
autoload :OutcomeWriter, 'canvas_cc/canvas_cc/outcome_writer'
|
58
59
|
autoload :RatingWriter, 'canvas_cc/canvas_cc/rating_writer'
|
@@ -79,6 +80,7 @@ module CanvasCc
|
|
79
80
|
autoload :Course, 'canvas_cc/canvas_cc/models/course'
|
80
81
|
autoload :Assignment, 'canvas_cc/canvas_cc/models/assignment'
|
81
82
|
autoload :Syllabus, 'canvas_cc/canvas_cc/models/syllabus'
|
83
|
+
autoload :GradingStandard, 'canvas_cc/canvas_cc/models/grading_standard'
|
82
84
|
autoload :AssignmentGroup, 'canvas_cc/canvas_cc/models/assignment_group'
|
83
85
|
autoload :Assessment, 'canvas_cc/canvas_cc/models/assessment'
|
84
86
|
autoload :DiscussionTopic, 'canvas_cc/canvas_cc/models/discussion_topic'
|
@@ -14,6 +14,7 @@ module CanvasCc::CanvasCC
|
|
14
14
|
|
15
15
|
CanvasExportWriter.any_instance.stub(:write)
|
16
16
|
CourseSyllabusWriter.any_instance.stub(:write)
|
17
|
+
GradingStandardWriter.any_instance.stub(:write)
|
17
18
|
CourseSettingWriter.any_instance.stub(:write)
|
18
19
|
ModuleMetaWriter.any_instance.stub(:write)
|
19
20
|
ImsManifestGenerator.any_instance.stub(:write)
|
@@ -30,7 +31,7 @@ module CanvasCc::CanvasCC
|
|
30
31
|
FileUtils.rm_r tmpdir
|
31
32
|
end
|
32
33
|
|
33
|
-
[CanvasExportWriter, CourseSyllabusWriter, CourseSettingWriter, ModuleMetaWriter, ImsManifestGenerator,
|
34
|
+
[CanvasExportWriter, CourseSyllabusWriter, GradingStandardWriter, CourseSettingWriter, ModuleMetaWriter, ImsManifestGenerator,
|
34
35
|
FileMetaWriter, PageWriter, DiscussionWriter, AssignmentWriter, QuestionBankWriter, OutcomeWriter, RubricWriter].each do |klass|
|
35
36
|
it "writes #{klass}" do
|
36
37
|
writer_double = double(write: nil)
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module CanvasCc::CanvasCC
|
4
|
+
describe GradingStandardWriter do
|
5
|
+
let(:grading_standard) { CanvasCc::CanvasCC::Models::GradingStandard.new }
|
6
|
+
let(:tmpdir) { Dir.mktmpdir }
|
7
|
+
|
8
|
+
before :each do
|
9
|
+
Dir.mkdir(File.join(tmpdir, CartridgeCreator::COURSE_SETTINGS_DIR))
|
10
|
+
end
|
11
|
+
|
12
|
+
after :each do
|
13
|
+
FileUtils.rm_r tmpdir
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'adds the grading standard' do
|
17
|
+
grading_data = [["A", 0.9], ["B", 0.8], ["C", 0.7], ["D", 0.6], ["E", 0.0]]
|
18
|
+
grading_standard.identifier = '123'
|
19
|
+
grading_standard.title = 'my title'
|
20
|
+
grading_standard.data = grading_data
|
21
|
+
grading_standard.version = '2'
|
22
|
+
xml = write_xml(grading_standard)
|
23
|
+
expect(xml.at_xpath('/xmlns:gradingStandards/xmlns:gradingStandard/@identifier').text).to eq '123'
|
24
|
+
expect(xml.at_xpath('/xmlns:gradingStandards/xmlns:gradingStandard/@version').text).to eq '2'
|
25
|
+
expect(xml.at_xpath('/xmlns:gradingStandards/xmlns:gradingStandard/xmlns:title').text).to eq 'my title'
|
26
|
+
expect(xml.at_xpath('/xmlns:gradingStandards/xmlns:gradingStandard/xmlns:data').text).to eq grading_data.to_s
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def write_xml(grading_standard)
|
32
|
+
GradingStandardWriter.new(tmpdir, [grading_standard]).write
|
33
|
+
path = File.join(tmpdir,
|
34
|
+
CartridgeCreator::COURSE_SETTINGS_DIR,
|
35
|
+
GradingStandardWriter::GRADING_STANDARD_FILE)
|
36
|
+
Nokogiri::XML(File.read(path))
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: canvas_cc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.34
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Instructure
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -277,6 +277,7 @@ files:
|
|
277
277
|
- lib/canvas_cc/canvas_cc/essay_question_writer.rb
|
278
278
|
- lib/canvas_cc/canvas_cc/file_meta_writer.rb
|
279
279
|
- lib/canvas_cc/canvas_cc/file_upload_question_writer.rb
|
280
|
+
- lib/canvas_cc/canvas_cc/grading_standard_writer.rb
|
280
281
|
- lib/canvas_cc/canvas_cc/ims_manifest_generator.rb
|
281
282
|
- lib/canvas_cc/canvas_cc/matching_question_writer.rb
|
282
283
|
- lib/canvas_cc/canvas_cc/models/answer.rb
|
@@ -290,6 +291,7 @@ files:
|
|
290
291
|
- lib/canvas_cc/canvas_cc/models/course.rb
|
291
292
|
- lib/canvas_cc/canvas_cc/models/discussion.rb
|
292
293
|
- lib/canvas_cc/canvas_cc/models/discussion_topic.rb
|
294
|
+
- lib/canvas_cc/canvas_cc/models/grading_standard.rb
|
293
295
|
- lib/canvas_cc/canvas_cc/models/matching_question.rb
|
294
296
|
- lib/canvas_cc/canvas_cc/models/module_completion_requirement.rb
|
295
297
|
- lib/canvas_cc/canvas_cc/models/module_item.rb
|
@@ -354,6 +356,7 @@ files:
|
|
354
356
|
- spec/moodle2cc/canvas_cc/essay_question_writer_spec.rb
|
355
357
|
- spec/moodle2cc/canvas_cc/file_meta_writer_spec.rb
|
356
358
|
- spec/moodle2cc/canvas_cc/file_upload_question_writer_spec.rb
|
359
|
+
- spec/moodle2cc/canvas_cc/grading_standard_writer_spec.rb
|
357
360
|
- spec/moodle2cc/canvas_cc/ims_manifest_generator_spec.rb
|
358
361
|
- spec/moodle2cc/canvas_cc/matching_question_writer_spec.rb
|
359
362
|
- spec/moodle2cc/canvas_cc/models/assessment_spec.rb
|
@@ -449,7 +452,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
449
452
|
version: '0'
|
450
453
|
requirements: []
|
451
454
|
rubyforge_project:
|
452
|
-
rubygems_version: 2.
|
455
|
+
rubygems_version: 2.2.2
|
453
456
|
signing_key:
|
454
457
|
specification_version: 4
|
455
458
|
summary: Create Canvas CC compatible file
|
@@ -466,6 +469,7 @@ test_files:
|
|
466
469
|
- spec/moodle2cc/canvas_cc/essay_question_writer_spec.rb
|
467
470
|
- spec/moodle2cc/canvas_cc/file_meta_writer_spec.rb
|
468
471
|
- spec/moodle2cc/canvas_cc/file_upload_question_writer_spec.rb
|
472
|
+
- spec/moodle2cc/canvas_cc/grading_standard_writer_spec.rb
|
469
473
|
- spec/moodle2cc/canvas_cc/ims_manifest_generator_spec.rb
|
470
474
|
- spec/moodle2cc/canvas_cc/matching_question_writer_spec.rb
|
471
475
|
- spec/moodle2cc/canvas_cc/models/assessment_spec.rb
|
@@ -541,4 +545,3 @@ test_files:
|
|
541
545
|
- test/unit/logger_test.rb
|
542
546
|
- test/unit/migrator_test.rb
|
543
547
|
- test/unit/resource_factory_test.rb
|
544
|
-
has_rdoc:
|