From 4d520a3a474d516fac1b46e2f1084f4c28fce8a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 4 Jan 2019 19:20:07 +0100 Subject: [PATCH] Rename `age_groups` method The name was confusing because it seemed to return a list of age groups. --- app/models/concerns/statisticable.rb | 8 ++++-- app/views/budgets/stats/show.html.erb | 2 +- .../shared/stats/_participation.html.erb | 2 +- spec/models/budget/stats_spec.rb | 26 +++++++++---------- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/app/models/concerns/statisticable.rb b/app/models/concerns/statisticable.rb index 300b77387..0a041a851 100644 --- a/app/models/concerns/statisticable.rb +++ b/app/models/concerns/statisticable.rb @@ -55,7 +55,11 @@ module Statisticable [80, 84], [85, 89], [90, 300] - ].map do |start, finish| + ] + end + + def participants_by_age + age_groups.map do |start, finish| users = participants.where("date_of_birth > ? AND date_of_birth < ?", finish.years.ago.beginning_of_year, start.years.ago.end_of_year) @@ -90,7 +94,7 @@ module Statisticable def stats_methods %i[total_participants total_male_participants total_female_participants total_unknown_gender_or_age - male_percentage female_percentage age_groups] + male_percentage female_percentage participants_by_age] end def stats_cache(*method_names) diff --git a/app/views/budgets/stats/show.html.erb b/app/views/budgets/stats/show.html.erb index dad8ee5e9..e156d0d9b 100644 --- a/app/views/budgets/stats/show.html.erb +++ b/app/views/budgets/stats/show.html.erb @@ -140,7 +140,7 @@ - <% @stats[:age_groups].values.each do |group| %> + <% @stats[:participants_by_age].values.each do |group| %> <%= group[:range] %> diff --git a/app/views/shared/stats/_participation.html.erb b/app/views/shared/stats/_participation.html.erb index a806e2d0a..88faf3575 100644 --- a/app/views/shared/stats/_participation.html.erb +++ b/app/views/shared/stats/_participation.html.erb @@ -39,7 +39,7 @@ - <% stats[:age_groups].values.each do |group| %> + <% stats[:participants_by_age].values.each do |group| %> <%= group[:range] %> diff --git a/spec/models/budget/stats_spec.rb b/spec/models/budget/stats_spec.rb index 3ff9dfa9f..231c90675 100644 --- a/spec/models/budget/stats_spec.rb +++ b/spec/models/budget/stats_spec.rb @@ -148,21 +148,21 @@ describe Budget::Stats do end - context "#age_groups" do + context "#participants_by_age" do it "returns the age groups hash" do - expect(stats[:age_groups]["16 - 19"][:count]).to be 0 - expect(stats[:age_groups]["20 - 24"][:count]).to be 7 - expect(stats[:age_groups]["25 - 29"][:count]).to be 1 - expect(stats[:age_groups]["30 - 34"][:count]).to be 0 - expect(stats[:age_groups]["35 - 39"][:count]).to be 1 - expect(stats[:age_groups]["40 - 44"][:count]).to be 1 - expect(stats[:age_groups]["45 - 49"][:count]).to be 0 - expect(stats[:age_groups]["50 - 54"][:count]).to be 1 - expect(stats[:age_groups]["55 - 59"][:count]).to be 0 - expect(stats[:age_groups]["60 - 64"][:count]).to be 0 - expect(stats[:age_groups]["65 - 69"][:count]).to be 0 - expect(stats[:age_groups]["70 - 74"][:count]).to be 0 + expect(stats[:participants_by_age]["16 - 19"][:count]).to be 0 + expect(stats[:participants_by_age]["20 - 24"][:count]).to be 7 + expect(stats[:participants_by_age]["25 - 29"][:count]).to be 1 + expect(stats[:participants_by_age]["30 - 34"][:count]).to be 0 + expect(stats[:participants_by_age]["35 - 39"][:count]).to be 1 + expect(stats[:participants_by_age]["40 - 44"][:count]).to be 1 + expect(stats[:participants_by_age]["45 - 49"][:count]).to be 0 + expect(stats[:participants_by_age]["50 - 54"][:count]).to be 1 + expect(stats[:participants_by_age]["55 - 59"][:count]).to be 0 + expect(stats[:participants_by_age]["60 - 64"][:count]).to be 0 + expect(stats[:participants_by_age]["65 - 69"][:count]).to be 0 + expect(stats[:participants_by_age]["70 - 74"][:count]).to be 0 end end