make rake task more verbose

This commit is contained in:
Karol
2019-12-19 17:49:53 +01:00
parent 9670246e75
commit 2432678ea1

View File

@ -4,7 +4,8 @@ namespace :export_exercises do
desc 'exports all public exercises to codeharbor' desc 'exports all public exercises to codeharbor'
task :public, [:codeharbor_link_id] => [:environment] do |_, args| task :public, [:codeharbor_link_id] => [:environment] do |_, args|
codeharbor_link = CodeharborLink.find(args.codeharbor_link_id) codeharbor_link = CodeharborLink.find(args.codeharbor_link_id)
successful_exports = []
failed_exports = []
Exercise.where(public: true).each do |exercise| Exercise.where(public: true).each do |exercise|
puts "Exporting exercise \##{exercise.id}" puts "Exporting exercise \##{exercise.id}"
error = ExerciseService::PushExternal.call( error = ExerciseService::PushExternal.call(
@ -12,10 +13,15 @@ namespace :export_exercises do
codeharbor_link: codeharbor_link codeharbor_link: codeharbor_link
) )
if error.nil? if error.nil?
successful_exports << exercise.id
puts "Successfully exported exercise\# #{exercise.id}" puts "Successfully exported exercise\# #{exercise.id}"
else else
failed_exports << exercise.id
puts "An error occured during export of exercise\# #{exercise.id}: #{error}" puts "An error occured during export of exercise\# #{exercise.id}: #{error}"
end end
end end
puts "successful exports: count: #{successful_exports.count} \nlist: #{successful_exports}"
puts "failed exports: count: #{failed_exports.count} \nlist: #{failed_exports}"
end end
end end