| Module | Systems::Syncing |
| In: |
lib/systems/syncing.rb
|
# File lib/systems/syncing.rb, line 3
3: def deactivate_admin_responses
4: response_ids = Response.all(
5: :select => 'responses.id',
6: :joins => "INNER JOIN visits ON responses.visit_id=visits.id INNER JOIN users ON (visits.user_id=users.id AND users.state LIKE 'admin')",
7: :conditions => "active=1 AND users.state LIKE 'admin'",
8: :group => 'responses.id'
9: ).map(&:id)
10: Response.update_all("active=0", "responses.active=1 AND responses.id IN (#{response_ids.join(',')})") unless response_ids.empty?
11: response_ids
12: end
# File lib/systems/syncing.rb, line 14
14: def update_cache
15: ItemsQuestion.transaction do
16: ItemsQuestion.all(:include => :item).each do |iq|
17: next if iq.item.nil?
18: wins = iq.item.wins(iq.question_id, '')
19: ratings = iq.item.ratings(iq.question_id)
20: losses = ratings - wins
21: iq.update_attributes(:wins => wins, :ratings => ratings, :losses => losses)
22: end
23: end
24: end