Add mail votes stub to poll stats
So far we don't know about implemenation details.
This commit is contained in:
@@ -2,22 +2,26 @@ class Poll::Stats
|
||||
include Statisticable
|
||||
alias_method :poll, :resource
|
||||
|
||||
CHANNELS = %i[web booth mail]
|
||||
|
||||
def self.stats_methods
|
||||
super +
|
||||
%i[total_valid_votes total_white_votes total_null_votes
|
||||
total_participants_web total_web_valid total_web_white total_web_null
|
||||
total_participants_booth total_booth_valid total_booth_white total_booth_null
|
||||
total_participants_mail total_mail_valid total_mail_white total_mail_null
|
||||
total_participants_web_percentage total_participants_booth_percentage
|
||||
valid_percentage_web valid_percentage_booth total_valid_percentage
|
||||
white_percentage_web white_percentage_booth total_white_percentage
|
||||
null_percentage_web null_percentage_booth total_null_percentage]
|
||||
total_participants_mail_percentage
|
||||
valid_percentage_web valid_percentage_booth valid_percentage_mail total_valid_percentage
|
||||
white_percentage_web white_percentage_booth white_percentage_mail total_white_percentage
|
||||
null_percentage_web null_percentage_booth null_percentage_mail total_null_percentage]
|
||||
end
|
||||
|
||||
def total_participants
|
||||
total_participants_web + total_participants_booth
|
||||
end
|
||||
|
||||
%i[web booth].each do |channel|
|
||||
CHANNELS.each do |channel|
|
||||
define_method :"total_participants_#{channel}" do
|
||||
send(:"total_#{channel}_valid") +
|
||||
send(:"total_#{channel}_white") +
|
||||
@@ -53,8 +57,20 @@ class Poll::Stats
|
||||
recounts.sum(:null_amount)
|
||||
end
|
||||
|
||||
def total_mail_valid
|
||||
0 # TODO
|
||||
end
|
||||
|
||||
def total_mail_white
|
||||
0 # TODO
|
||||
end
|
||||
|
||||
def total_mail_null
|
||||
0 # TODO
|
||||
end
|
||||
|
||||
%i[valid white null].each do |type|
|
||||
%i[web booth].each do |channel|
|
||||
CHANNELS.each do |channel|
|
||||
define_method :"#{type}_percentage_#{channel}" do
|
||||
calculate_percentage(send(:"total_#{channel}_#{type}"), send(:"total_#{type}_votes"))
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user