Commit 47e920d678c6e6800db783568c0a6162b4bbdd14

Authored by Dhruv Kapadia
1 parent e7dc0a3b

Pruning errant skips caused by bug

Showing 1 changed file with 31 additions and 1 deletions   Show diff stats
lib/tasks/prune_db.rake
... ... @@ -30,7 +30,37 @@ namespace :prune_db do
30 30 else
31 31 puts "Could not find any bad votes. Yay."
32 32 end
33   -
  33 + end
  34 +
  35 + task(:associate_skips_with_appearances => :environment) do
  36 + skips_to_fix = Skip.find(:all, :conditions => {:appearance_id => nil})
  37 + skips_to_fix.each do |skip|
  38 + puts "Skip #{skip.id} : "
  39 + possible_appearances = skip.skipper.appearances.find(:all, :conditions => {:prompt_id => skip.prompt_id})
  40 + if possible_appearances.nil? || possible_appearances.empty?
  41 + puts " I couldn't find any matches!"
  42 + skip.delete
  43 + next
  44 + end
  45 + if possible_appearances.size > 1
  46 + puts " More than one possible appearance"
  47 + possible_appearances.delete_if{|a| a.answered?}
  48 + if possible_appearances.size > 1 || possible_appearances.size == 0
  49 + puts" And I couldn't narrow it down.... moving on"
  50 + skip.delete
  51 + next
  52 + end
  53 + end
  54 + possible_appearance = possible_appearances.first
  55 + if possible_appearance.answered?
  56 + puts " This appearance has been answered already! Moving on"
  57 + skip.delete
  58 + else
  59 + puts " MATCH"
  60 + skip.appearance_id = possible_appearance.id
  61 + skip.save!
  62 + end
  63 + end
34 64 end
35 65  
36 66 end
... ...