From 364b97d25eeee33646ee97fe23f85785f1c93877 Mon Sep 17 00:00:00 2001 From: Jared Cosulich Date: Tue, 30 Jan 2018 15:40:19 -0500 Subject: [PATCH] fixing a bug in calculating average widths --- app/models/category.rb | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/app/models/category.rb b/app/models/category.rb index d93cef78..e167aa21 100644 --- a/app/models/category.rb +++ b/app/models/category.rb @@ -43,9 +43,12 @@ class Category < ApplicationRecord def zone_widths return nil if zones.nil? - w = custom_zones.each_with_index.map do |zone, index| - (zone - index == 0 ? 0 : custom_zones[index - 1]).round(2) + widths = custom_zones.each_with_index.map do |zone, index| + (zone - (index == 0 ? 0 : custom_zones[index - 1])).round(2) end + + widths[4] = widths[4] + (5 - widths.sum) + return widths end def sync_child_zones @@ -60,20 +63,22 @@ class Category < ApplicationRecord if cc.zones.nil? puts "NO ZONES: #{name} -> #{cc.name}" - next - end + else + valid_child_categories += 1 - valid_child_categories += 1 + # puts "ZONES: #{name} | #{cc.name} | #{cc.zones}" - cc.custom_zones.each_with_index do |zone, index| - total_zones[index] += zone + cc.custom_zones.each_with_index do |zone, index| + # puts "ZONE: #{name} | #{zone} | #{index}" + total_zones[index] += zone + end end end if valid_child_categories > 0 average_zones = total_zones.map { |zone| zone / valid_child_categories } - # puts "TOTAL: #{name} | #{total_zones} | #{valid_child_categories} | #{average_zones}" - update(zones: average_zones) + # puts "TOTAL: #{name} | #{total_zones} | #{valid_child_categories} | #{average_zones} | #{zone_widths}" + update(zones: average_zones.join(",")) end end