Improve the ratings stats

Make sure that for each data point, we have do not
have any partial data (e.g. a week that hasn’t
finished yet)
This commit is contained in:
gregoirenovel 2018-09-09 23:04:00 +02:00
parent 02a8693f7b
commit 26e0ada3d4

View file

@ -129,12 +129,16 @@ class StatsController < ApplicationController
Feedback.ratings.fetch(:neutral) => "Neutres", Feedback.ratings.fetch(:neutral) => "Neutres",
Feedback.ratings.fetch(:unhappy) => "Mécontents" 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| Feedback.ratings.values.map do |rating|
data = Feedback data = Feedback
.where(created_at: 5.weeks.ago..Time.now, rating: rating) .where(created_at: interval, rating: rating)
.group_by_week(:created_at) .group_by_week(:created_at)
.count .count
.map do |week, count| .map do |week, count|