From 26e0ada3d4a5dd66c9e11135d8d9b3034d0209e2 Mon Sep 17 00:00:00 2001 From: gregoirenovel Date: Sun, 9 Sep 2018 23:04:00 +0200 Subject: [PATCH] Improve the ratings stats MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make sure that for each data point, we have do not have any partial data (e.g. a week that hasn’t finished yet) --- app/controllers/stats_controller.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/controllers/stats_controller.rb b/app/controllers/stats_controller.rb index 6a183433a..73a7dbef7 100644 --- a/app/controllers/stats_controller.rb +++ b/app/controllers/stats_controller.rb @@ -129,12 +129,16 @@ class StatsController < ApplicationController Feedback.ratings.fetch(:neutral) => "Neutres", Feedback.ratings.fetch(:unhappy) => "Mécontents" } + interval = 6.weeks.ago.beginning_of_week..1.week.ago.beginning_of_week - totals = Feedback.where(created_at: 5.weeks.ago..Time.now).group_by_week(:created_at).count + totals = Feedback + .where(created_at: interval) + .group_by_week(:created_at) + .count Feedback.ratings.values.map do |rating| data = Feedback - .where(created_at: 5.weeks.ago..Time.now, rating: rating) + .where(created_at: interval, rating: rating) .group_by_week(:created_at) .count .map do |week, count|