class CanvasDotfile
Public Class Methods
create_assignment_data(response, course, type)
click to toggle source
# File lib/github-to-canvas/canvas_dotfile.rb, line 52 def self.create_assignment_data(response, course, type) { lessons: [ { id: response['id'], course_id: course.to_i, canvas_url: response['html_url'], type: type } ] } end
create_canvas_dotfile(filepath, canvas_data)
click to toggle source
# File lib/github-to-canvas/canvas_dotfile.rb, line 25 def self.create_canvas_dotfile(filepath, canvas_data) File.write("#{filepath}/.canvas", canvas_data.to_yaml) end
create_page_data(response, course, type)
click to toggle source
# File lib/github-to-canvas/canvas_dotfile.rb, line 79 def self.create_page_data(response, course, type) { lessons: [ { id: response['page_id'], course_id: course.to_i, canvas_url: response['html_url'], type: type } ] } end
exists?()
click to toggle source
# File lib/github-to-canvas/canvas_dotfile.rb, line 4 def self.exists? File.file?(".canvas") end
read_canvas_data()
click to toggle source
# File lib/github-to-canvas/canvas_dotfile.rb, line 29 def self.read_canvas_data if File.file?(".canvas") YAML.load(File.read(".canvas")) else puts 'ERROR: Align functionalty requires .canvas file to be present' abort end end
update_assignment_data(response, course, type)
click to toggle source
# File lib/github-to-canvas/canvas_dotfile.rb, line 38 def self.update_assignment_data(response, course, type) canvas_data = YAML.load(File.read(".canvas")) if canvas_data[:lessons].none? { |lesson| lesson[:id] == response['id'] && lesson[:course_id] == course.to_i && lesson[:canvas_url] == response['html_url']} lesson_data = { id: response['id'], course_id: course.to_i, canvas_url: response['html_url'], type: type } canvas_data[:lessons] << lesson_data end canvas_data end
update_or_create(options, response)
click to toggle source
# File lib/github-to-canvas/canvas_dotfile.rb, line 8 def self.update_or_create(options, response) if self.exists? if options[:type] == "assignment" || options[:type] == "discussion" canvas_data = self.update_assignment_data(response, options[:course_id], options[:type]) else canvas_data = self.update_page_data(response, options[:course_id], options[:type]) end else if options[:type] == "assignment" || options[:type] == "discussion" canvas_data = self.create_assignment_data(response, options[:course_id], options[:type]) else canvas_data = self.create_page_data(response, options[:course_id], options[:type]) end end self.create_canvas_dotfile(options[:filepath], canvas_data) end
update_page_data(response, course, type)
click to toggle source
# File lib/github-to-canvas/canvas_dotfile.rb, line 65 def self.update_page_data(response, course, type) canvas_data = YAML.load(File.read(".canvas")) if canvas_data[:lessons].none? { |lesson| lesson[:id] == response['page_id'] && lesson[:course_id] == course.to_i && lesson[:canvas_url] == response['html_url']} lesson_data = { id: response['page_id'], course_id: course.to_i, canvas_url: response['html_url'], type: type } canvas_data[:lessons] << lesson_data end canvas_data end