class Senkyoshi::Tasks
Public Class Methods
install_tasks()
click to toggle source
Creates rake tasks that can be ran from the gem.
Add this to your Rakefile
require "senkyoshi/tasks" Senkyoshi::Tasks.install_tasks
# File lib/senkyoshi/tasks.rb, line 70 def self.install_tasks namespace :senkyoshi do desc "Convert a single given blackboard cartridge to a canvas cartridge" task :imscc_single, [:file_path] do |_t, args| file_path = args.file_path if file_path imscc_path = file_path.clone.ext(".imscc") Senkyoshi.parse_and_process_single(file_path, imscc_path) else puts "No file given" end end desc "Convert blackboard cartridges to canvas cartridges" task imscc: SOURCE_FILES.pathmap( "%{^#{SOURCE_NAME}/,#{OUTPUT_DIR}/}X.imscc", ) directory OUTPUT_NAME rule ".imscc" => [->(f) { source_for_imscc(f) }, OUTPUT_NAME] do |t| make_directories(t.name, OUTPUT_DIR) Senkyoshi.parse(t.source, t.name) end desc "Upload converted files to canvas" task upload: CONVERTED_FILES.pathmap( "%{^#{OUTPUT_NAME}/,#{UPLOAD_DIR}/}X.txt", ) directory UPLOAD_NAME rule ".txt" => [->(f) { source_for_upload_log(f) }, UPLOAD_NAME] do |t| make_directories(t.name, UPLOAD_DIR) Senkyoshi.initialize_course(t.source, source_for_imscc(t.source)) log_file(t.name) end desc "Completely delete all converted files" task :clean do rm_rf OUTPUT_DIR end end end