From 26e0ada3d4a5dd66c9e11135d8d9b3034d0209e2 Mon Sep 17 00:00:00 2001 From: gregoirenovel Date: Sun, 9 Sep 2018 23:04:00 +0200 Subject: [PATCH 1/2] 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| From 50019e5317863f774ded766f69e8bf6a297f913b Mon Sep 17 00:00:00 2001 From: gregoirenovel Date: Mon, 10 Sep 2018 14:04:59 +0200 Subject: [PATCH 2/2] Show user satisfaction in percentages --- app/controllers/stats_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/stats_controller.rb b/app/controllers/stats_controller.rb index 73a7dbef7..4d2c54ee5 100644 --- a/app/controllers/stats_controller.rb +++ b/app/controllers/stats_controller.rb @@ -145,7 +145,7 @@ class StatsController < ApplicationController total = totals[week] if total > 0 - [week, (count.to_f / total).round(2)] + [week, (count.to_f / total * 100).round(2)] else 0 end