theoooo-tally 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
data/app/models/tally_sheet.rb
CHANGED
@@ -6,6 +6,9 @@ class TallySheet < ActiveRecord::Base
|
|
6
6
|
validates_uniqueness_of :tallyable_id, :scope => [:tallyable_type, :voter_type, :voter_id]
|
7
7
|
validates_inclusion_of :for, :in => [true, false]
|
8
8
|
|
9
|
+
after_save :update_tally_score!
|
10
|
+
after_destroy :update_tally_score!
|
11
|
+
|
9
12
|
attr_protected :voter, :tallyable
|
10
13
|
|
11
14
|
# TODO: Figure out why i can't just reference :tallyable => tallyable
|
@@ -18,4 +21,8 @@ class TallySheet < ActiveRecord::Base
|
|
18
21
|
{ :conditions => { :voter_id => voter.id, :voter_type => voter.class.to_s } }
|
19
22
|
}
|
20
23
|
|
24
|
+
def update_tally_score!
|
25
|
+
self.tallyable.update_tally_score!
|
26
|
+
end
|
27
|
+
|
21
28
|
end
|
@@ -14,8 +14,8 @@ class <%= migration_name %> < ActiveRecord::Migration
|
|
14
14
|
add_index :tally_sheets, [ :tallyable_id, :tallyable_type ]
|
15
15
|
|
16
16
|
<% tallyables.each do |t| -%>
|
17
|
-
add_column :<%= t.underscore.camelize.tableize %>, :tally_sheets_count, :integer
|
18
|
-
add_column :<%= t.underscore.camelize.tableize %>, :tally_score, :
|
17
|
+
add_column :<%= t.underscore.camelize.tableize %>, :tally_sheets_count, :integer, :default => 0
|
18
|
+
add_column :<%= t.underscore.camelize.tableize %>, :tally_score, :float, :default => 0.0
|
19
19
|
<% end -%>
|
20
20
|
end
|
21
21
|
|
data/lib/tally/tallyable.rb
CHANGED
@@ -8,7 +8,7 @@ module Tally
|
|
8
8
|
module ClassMethods
|
9
9
|
def has_tally
|
10
10
|
include InstanceMethods
|
11
|
-
has_many :votes, :as => :tallyable, :class_name => "TallySheet"
|
11
|
+
has_many :votes, :as => :tallyable, :class_name => "TallySheet"
|
12
12
|
has_many :votes_for, :as => :tallyable, :class_name => "TallySheet", :conditions => {:for => true}
|
13
13
|
has_many :votes_against, :as => :tallyable, :class_name => "TallySheet", :conditions => {:for => false}
|
14
14
|
end
|