Class: CanvasCc::CanvasCC::RubricWriter
- Inherits:
-
Object
- Object
- CanvasCc::CanvasCC::RubricWriter
- Defined in:
- lib/canvas_cc/canvas_cc/rubric_writer.rb
Constant Summary collapse
- RUBRICS_FILE =
'rubrics.xml'
Instance Method Summary collapse
-
#initialize(work_dir, *rubrics) ⇒ RubricWriter
constructor
A new instance of RubricWriter.
- #write ⇒ Object
- #write_criteria(xml, rubric) ⇒ Object
Constructor Details
#initialize(work_dir, *rubrics) ⇒ RubricWriter
Returns a new instance of RubricWriter.
5 6 7 8 |
# File 'lib/canvas_cc/canvas_cc/rubric_writer.rb', line 5 def initialize(work_dir, *rubrics) @work_dir = work_dir @rubrics = rubrics end |
Instance Method Details
#write ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/canvas_cc/canvas_cc/rubric_writer.rb', line 10 def write xml = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml| write_rubrics(xml) do |xml| @rubrics.each do |rubric| xml.rubric(identifier: rubric.identifier) do CanvasCc::CanvasCC::Models::Rubric::META_ATTRIBUTES.each do |attr| xml.send(attr, rubric.send(attr)) unless rubric.send(attr).nil? end write_criteria xml, rubric end end end end.to_xml File.open(File.join(@work_dir, CanvasCc::CanvasCC::CartridgeCreator::COURSE_SETTINGS_DIR, RUBRICS_FILE), 'w') { |f| f.write(xml) } end |
#write_criteria(xml, rubric) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/canvas_cc/canvas_cc/rubric_writer.rb', line 26 def write_criteria(xml, rubric) xml.criteria do rubric.criteria.each do |criterion| xml.criterion do xml.criterion_id criterion.id CanvasCc::CanvasCC::Models::RubricCriterion::META_ATTRIBUTES.each do |attr| xml.send(attr, criterion.send(attr)) unless criterion.send(attr).nil? end xml.learning_outcome_identifierref criterion.learning_outcome.identifier if criterion.learning_outcome xml << CanvasCc::CanvasCC::RatingWriter.new(*criterion.).write end end end end |