Class: Resequencer
- Inherits:
-
Object
- Object
- Resequencer
- Defined in:
- backend/app/lib/resequencer.rb
Constant Summary
- @@klasses =
[ :ArchivalObject, :DigitalObjectComponent, :ClassificationTerm]
Class Method Summary (collapse)
-
+ (Object) resequence(klass)
-
+ (Object) resequence_all
-
+ (Object) run(klasses = @@klasses)
-
+ (Boolean) running?
Class Method Details
+ (Object) resequence(klass)
19 20 21 22 23 24 25 26 27 28 29 |
# File 'backend/app/lib/resequencer.rb', line 19 def resequence(klass) repos = Repository.dataset.select(:id).map {|rec| rec[:id]} repos.each do |r| DB.attempt { Kernel.const_get(klass).resequence(r) }.and_if_constraint_fails { return # if there's a failure, just keep going. } end end |
+ (Object) resequence_all
31 32 33 34 35 |
# File 'backend/app/lib/resequencer.rb', line 31 def resequence_all @@klasses.each do |klass| self.resequence(klass) end end |
+ (Object) run(klasses = @@klasses)
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'backend/app/lib/resequencer.rb', line 38 def run(klasses = @@klasses ) $stderr.puts "*" * 100 $stderr.puts "*\t\t STARTING RESEQUENCER \t\t*" $stderr.puts "*\t\t This is a utility that will organize and compact objects trees to ensure their validity. \t\t *" $stderr.puts "*\t\t Duration of this process depends on the size of your data. \t\t *" $stderr.puts "*\t\t It should NOT be used on every startup and instead should only be run in rare occassions that require data maintance. \t\t *" $stderr.puts "*" * 100 begin @running.update { |r| r = true } klasses = klasses & @@klasses $stderr.puts klasses klasses.each do |klass| $stderr.puts klass self.resequence(klass) end ensure @running.update { |r| r = false } end $stderr.puts "*" * 100 $stderr.puts "*\t\t RESEQUENCER COMPLETE \t\t*" $stderr.puts "*\t\t Be sure to set the AppConfig[:resequence_on_startup] to false to ensure quicker startups in the future. \t\t*" $stderr.puts "*" * 100 end |
+ (Boolean) running?
15 16 17 |
# File 'backend/app/lib/resequencer.rb', line 15 def running? @running end |