diff options
| -rw-r--r-- | lib/tasks/referential.rake | 26 | 
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 | 
