Class: Senkyoshi::Tasks
- Inherits:
-
Object
- Object
- Senkyoshi::Tasks
- Extended by:
- Rake::DSL
- Defined in:
- lib/senkyoshi/tasks.rb
Class Method Summary collapse
-
.install_tasks ⇒ Object
Creates rake tasks that can be ran from the gem.
Class Method Details
.install_tasks ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# 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 |