Module Systems::Syncing
In: lib/systems/syncing.rb

Methods

Public Instance methods

[Source]

    # 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

[Source]

    # 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

[Validate]