canvas_cc 0.0.17 → 0.0.18

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: ff6c7c23e9125d06fe98d6c0f452768cd447439c
4
- data.tar.gz: 8abb77ead6530cca7df2178905cff2e8366ae6a7
3
+ metadata.gz: 84dbde3ea8923f460728ccf8db29d172dbf4fde7
4
+ data.tar.gz: 7b90bdbf97bc575b3f91af3f4b84540c56485b8a
5
5
  SHA512:
6
- metadata.gz: 0498e5f3e232a390e31f835884b8c17b26b59992924e0b4e920827cf677806f2c4274af63ab7a32b9632226b4d87ed1c5a99e26b693b00a2d650ade06b1cc71c
7
- data.tar.gz: aeddcde520e704cdc2e19412e46822da15684098d308a43cefd807c25c59c3f3c904a418625cd091655cb756e53e537915fb8d1c61e7ca29fd1f26345ffc1a50
6
+ metadata.gz: ac377db5dd73f9a3d06ef6f9e4d0845fb9c69de570643ace170f221c88a8efa1fbe89168955f1626ede79def212c4114c6fd75677ce86592f4cf0b05520e0a85
7
+ data.tar.gz: 6e9f1b2cd51d873339637cf5923da402cd6a3f90e99b467333e3b73b10ad87150814cce3f1d77616c2440618799c7e6832befd4c54052bb65fc14a6136d38da9
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- canvas_cc (0.0.17)
4
+ canvas_cc (0.0.18)
5
5
  builder
6
6
  happymapper
7
7
  nokogiri
@@ -2,11 +2,13 @@ module CanvasCc::CanvasCC::Models
2
2
  class CanvasModule
3
3
 
4
4
  attr_accessor :identifier, :title, :workflow_state, :module_items,
5
- :unlock_at, :start_at, :end_at, :require_sequential_progress, :prerequisites
5
+ :unlock_at, :start_at, :end_at, :require_sequential_progress,
6
+ :prerequisites, :completion_requirements
6
7
 
7
8
  def initialize
8
9
  @module_items = []
9
10
  @prerequisites = []
11
+ @completion_requirements = []
10
12
  end
11
13
  end
12
14
  end
@@ -0,0 +1,8 @@
1
+ module CanvasCc::CanvasCC::Models
2
+ class ModuleCompletionRequirement
3
+ attr_accessor :identifierref, :min_score, :max_score, :type
4
+ CONTENT_TYPE_MUST_VIEW = 'must_view'
5
+ CONTENT_TYPE_MUST_SUBMIT = 'must_submit'
6
+ CONTENT_TYPE_MIN_SCORE = 'min_score'
7
+ end
8
+ end
@@ -37,6 +37,10 @@ module CanvasCc::CanvasCC
37
37
  xml.prerequisites { |xml|
38
38
  add_prerequisites_to_xml(mod.prerequisites, xml)
39
39
  }
40
+
41
+ xml.completionRequirements {|xml|
42
+ add_completion_requirements_to_xml(mod.completion_requirements, xml)
43
+ }
40
44
  }
41
45
  end
42
46
 
@@ -64,5 +68,15 @@ module CanvasCc::CanvasCC
64
68
  end
65
69
  end
66
70
 
71
+ def add_completion_requirements_to_xml(completion_requirements, xml)
72
+ completion_requirements.each do |comp_req|
73
+ xml.completionRequirement('type' => comp_req.type){|xml|
74
+ xml.identifierref comp_req.identifierref
75
+ xml.min_score comp_req.min_score
76
+ xml.max_score comp_req.max_score
77
+ }
78
+ end
79
+ end
80
+
67
81
  end
68
82
  end
@@ -1,3 +1,3 @@
1
1
  module CanvasCc
2
- VERSION = "0.0.17"
2
+ VERSION = "0.0.18"
3
3
  end
data/lib/canvas_cc.rb CHANGED
@@ -94,6 +94,7 @@ module CanvasCc
94
94
  autoload :WorkflowState, 'canvas_cc/canvas_cc/models/workflow_state'
95
95
  autoload :Range, 'canvas_cc/canvas_cc/models/range'
96
96
  autoload :ModulePrerequisite, 'canvas_cc/canvas_cc/models/module_prerequisite'
97
+ autoload :ModuleCompletionRequirement, 'canvas_cc/canvas_cc/models/module_completion_requirement'
97
98
  end
98
99
  end
99
100
  end
@@ -6,6 +6,7 @@ module CanvasCc::CanvasCC
6
6
  let(:canvas_module) { Models::CanvasModule.new }
7
7
  let(:module_item) { Models::ModuleItem.new }
8
8
  let(:module_prerequisite) {Models::ModulePrerequisite.new}
9
+ let(:module_completion_req) {Models::ModuleCompletionRequirement.new}
9
10
  let(:tmpdir) { Dir.mktmpdir }
10
11
 
11
12
  before :each do
@@ -70,6 +71,24 @@ module CanvasCc::CanvasCC
70
71
  end
71
72
  end
72
73
 
74
+ context 'completion requirements' do
75
+ it 'writes completion requirements' do
76
+ canvas_module.identifier = 'module_identifier'
77
+ module_completion_req.type = Models::ModuleCompletionRequirement::CONTENT_TYPE_MIN_SCORE
78
+ module_completion_req.min_score = 1
79
+ module_completion_req.max_score = 5
80
+ module_completion_req.identifierref = canvas_module.identifier
81
+ canvas_module.completion_requirements << module_completion_req
82
+ xml = write_xml(canvas_module)
83
+ comp_node = xml.%('modules/module/completionRequirements/completionRequirement')
84
+ expect(comp_node.at_xpath('@type').text).to eq(Models::ModuleCompletionRequirement::CONTENT_TYPE_MIN_SCORE)
85
+ expect(comp_node.%('min_score').text).to eq('1')
86
+ expect(comp_node.%('max_score').text).to eq('5')
87
+ expect(comp_node.%('identifierref').text).to eq(canvas_module.identifier)
88
+
89
+ end
90
+ end
91
+
73
92
  context 'module items' do
74
93
  it 'writes out module items correctly' do
75
94
  module_item.identifier = "some_unique_hash"
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.17
4
+ version: 0.0.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Instructure
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-09 00:00:00.000000000 Z
11
+ date: 2015-02-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -276,6 +276,7 @@ files:
276
276
  - lib/canvas_cc/canvas_cc/models/discussion.rb
277
277
  - lib/canvas_cc/canvas_cc/models/discussion_topic.rb
278
278
  - lib/canvas_cc/canvas_cc/models/matching_question.rb
279
+ - lib/canvas_cc/canvas_cc/models/module_completion_requirement.rb
279
280
  - lib/canvas_cc/canvas_cc/models/module_item.rb
280
281
  - lib/canvas_cc/canvas_cc/models/module_prerequisite.rb
281
282
  - lib/canvas_cc/canvas_cc/models/multiple_dropdowns_question.rb