Commit 99801f4673c399db5b8514b377de1094580995a9

Authored by Luke Baker
2 parents 94dd8982 5aa61336

Merge branch 'master' of github.com:allourideas/pairwise-api

Showing 2 changed files with 8 additions and 5 deletions   Show diff stats
app/models/choice.rb
@@ -12,6 +12,12 @@ class Choice < ActiveRecord::Base @@ -12,6 +12,12 @@ class Choice < ActiveRecord::Base
12 has_many :flags 12 has_many :flags
13 has_many :prompts_on_the_left, :class_name => "Prompt", :foreign_key => "left_choice_id" 13 has_many :prompts_on_the_left, :class_name => "Prompt", :foreign_key => "left_choice_id"
14 has_many :prompts_on_the_right, :class_name => "Prompt", :foreign_key => "right_choice_id" 14 has_many :prompts_on_the_right, :class_name => "Prompt", :foreign_key => "right_choice_id"
  15 +
  16 +
  17 + has_many :appearances_on_the_left, :through => :prompts_on_the_left, :source => :appearances
  18 + has_many :appearances_on_the_right, :through => :prompts_on_the_right, :source => :appearances
  19 + has_many :skips_on_the_left, :through => :prompts_on_the_left, :source => :skips
  20 + has_many :skips_on_the_right, :through => :prompts_on_the_right, :source => :skips
15 named_scope :active, :conditions => { :active => true } 21 named_scope :active, :conditions => { :active => true }
16 named_scope :inactive, :conditions => { :active => false} 22 named_scope :inactive, :conditions => { :active => false}
17 23
lib/tasks/test_api.rake
@@ -64,11 +64,8 @@ namespace :test_api do @@ -64,11 +64,8 @@ namespace :test_api do
64 64
65 def verify_choice_appearances_and_votes(choice) 65 def verify_choice_appearances_and_votes(choice)
66 success_message = "Choice has more appearances than votes and skips" 66 success_message = "Choice has more appearances than votes and skips"
67 - prompts_on_left = choice.prompts_on_the_left.map { |p| p.id }  
68 - prompts_on_right = choice.prompts_on_the_right.map { |p| p.id }  
69 - all_prompt_ids = prompts_on_left + prompts_on_right  
70 - all_appearances = Appearance.count(:conditions => { :prompt_id => all_prompt_ids})  
71 - skips = Skip.count(:conditions => {:prompt_id => all_prompt_ids}) 67 + all_appearances = choice.appearances_on_the_left.count + choice.appearances_on_the_right.count
  68 + skips = choice.skips_on_the_left.count + choice.skips_on_the_right.count
72 69
73 if all_appearances < choice.wins + choice.losses + skips 70 if all_appearances < choice.wins + choice.losses + skips
74 error_message = "Choice #{choice.id} in Question ##{choice.question_id} has fewer appearances than wins + losses + skips" 71 error_message = "Choice #{choice.id} in Question ##{choice.question_id} has fewer appearances than wins + losses + skips"