Class: CanvasCc::CanvasCC::AssignmentGroupWriter

Inherits:
Object
  • Object
show all
Defined in:
lib/canvas_cc/canvas_cc/assignment_group_writer.rb

Constant Summary collapse

ASSIGNMENT_GROUP_FILE =
'assignment_groups.xml'

Instance Method Summary collapse

Constructor Details

#initialize(work_dir, assignment_groups) ⇒ AssignmentGroupWriter

Returns a new instance of AssignmentGroupWriter.



5
6
7
8
# File 'lib/canvas_cc/canvas_cc/assignment_group_writer.rb', line 5

def initialize(work_dir, assignment_groups)
  @work_dir = work_dir
  @assignment_groups = assignment_groups
end

Instance Method Details

#writeObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/canvas_cc/canvas_cc/assignment_group_writer.rb', line 10

def write
  xml = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
    write_assignment_groups(xml) do |xml|
      @assignment_groups.each do |ag|
        xml.assignmentGroup(:identifier => ag.identifier){
          xml.title ag.title
          xml.position ag.position
          xml.group_weight ag.group_weight
          write_rules(ag, xml)
        }
      end
    end
  end.to_xml
  File.open(File.join(@work_dir, CanvasCc::CanvasCC::CartridgeCreator::COURSE_SETTINGS_DIR, ASSIGNMENT_GROUP_FILE), 'w') { |f| f.write(xml) }
end