aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/tasks/referential.rake26
1 files changed, 21 insertions, 5 deletions
diff --git a/lib/tasks/referential.rake b/lib/tasks/referential.rake
index 1b46f69f0..adb31cf50 100644
--- a/lib/tasks/referential.rake
+++ b/lib/tasks/referential.rake
@@ -68,17 +68,19 @@ namespace :referential do
end
end
- desc 'Update all the checksums in the given referential'
- task :update_checksums_in_referential, [:slug] => :environment do |t, args|
+ def update_checksums_fo_referential referential
thing = %w(\\ | / —)
- Referential.force_register_models_with_checksum if Rails.env.development?
- referential = Referential.find_by_slug(args[:slug])
+ Referential.force_register_models_with_checksum if Rails.env.development? && Referential.models_with_checksum.empty?
+ puts "\n \e[33m***\e[0m Referential #{referential.name}"
referential.switch do
Referential.models_with_checksum.each do |klass|
i = 0
j = 0
prev_size = 1
- print "Updating checksums for #{klass.name}: "
+ head = "Updating checksums for #{klass.name}: "
+ print head
+ print "⎯"*(80-head.size)
+ print " "
count = klass.count
klass.find_each do |o|
o.update_checksum!
@@ -94,4 +96,18 @@ namespace :referential do
end
end
end
+
+ desc 'Update all the checksums in the given referential'
+ task :update_checksums_in_referential, [:slug] => :environment do |t, args|
+ referential = Referential.find_by_slug(args[:slug])
+ update_checksums_fo_referential referential
+ end
+
+ desc 'Update all the checksums in the given organisation'
+ task :update_checksums_in_organisation, [:organisation_id] => :environment do |t, args|
+ thing = %w(\\ | / —)
+ Organisation.find(args[:organisation_id]).referentials.find_each do |referential|
+ update_checksums_fo_referential referential
+ end
+ end
end