Share method to generate stats
This commit is contained in:
@@ -2,13 +2,12 @@ class Budget::Stats
|
|||||||
include Statisticable
|
include Statisticable
|
||||||
alias_method :budget, :resource
|
alias_method :budget, :resource
|
||||||
|
|
||||||
def generate
|
def stats_methods
|
||||||
stats = %w[total_participants total_participants_support_phase total_participants_vote_phase
|
%w[total_participants total_participants_support_phase total_participants_vote_phase
|
||||||
total_budget_investments total_votes total_selected_investments
|
total_budget_investments total_votes total_selected_investments
|
||||||
total_unfeasible_investments total_male_participants total_female_participants
|
total_unfeasible_investments total_male_participants total_female_participants
|
||||||
total_supports total_unknown_gender_or_age age_groups male_percentage
|
total_supports total_unknown_gender_or_age age_groups male_percentage
|
||||||
female_percentage headings total_participants_web total_participants_booths]
|
female_percentage headings total_participants_web total_participants_booths]
|
||||||
stats.map { |stat_name| [stat_name.to_sym, send(stat_name)] }.to_h
|
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|||||||
@@ -7,5 +7,9 @@ module Statisticable
|
|||||||
def initialize(resource)
|
def initialize(resource)
|
||||||
@resource = resource
|
@resource = resource
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def generate
|
||||||
|
stats_methods.map { |stat_name| [stat_name.to_sym, send(stat_name)] }.to_h
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -3,14 +3,13 @@ class Poll::Stats
|
|||||||
include StatsHelper
|
include StatsHelper
|
||||||
alias_method :poll, :resource
|
alias_method :poll, :resource
|
||||||
|
|
||||||
def generate
|
def stats_methods
|
||||||
stats = %w[total_participants total_participants_web total_web_valid total_web_white total_web_null
|
%w[total_participants 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_booth total_booth_valid total_booth_white total_booth_null
|
||||||
total_valid_votes total_white_votes total_null_votes valid_percentage_web valid_percentage_booth
|
total_valid_votes total_white_votes total_null_votes valid_percentage_web valid_percentage_booth
|
||||||
total_valid_percentage white_percentage_web white_percentage_booth total_white_percentage
|
total_valid_percentage white_percentage_web white_percentage_booth total_white_percentage
|
||||||
null_percentage_web null_percentage_booth total_null_percentage total_participants_web_percentage
|
null_percentage_web null_percentage_booth total_null_percentage total_participants_web_percentage
|
||||||
total_participants_booth_percentage]
|
total_participants_booth_percentage]
|
||||||
stats.map { |stat_name| [stat_name.to_sym, send(stat_name)] }.to_h
|
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|||||||
Reference in New Issue
Block a user