fixing a bug in calculating average widths

pull/1/head
Jared Cosulich 8 years ago
parent 1bf7bf4f2d
commit 364b97d25e

@ -43,9 +43,12 @@ class Category < ApplicationRecord
def zone_widths def zone_widths
return nil if zones.nil? return nil if zones.nil?
w = custom_zones.each_with_index.map do |zone, index| widths = custom_zones.each_with_index.map do |zone, index|
(zone - index == 0 ? 0 : custom_zones[index - 1]).round(2) (zone - (index == 0 ? 0 : custom_zones[index - 1])).round(2)
end end
widths[4] = widths[4] + (5 - widths.sum)
return widths
end end
def sync_child_zones def sync_child_zones
@ -60,20 +63,22 @@ class Category < ApplicationRecord
if cc.zones.nil? if cc.zones.nil?
puts "NO ZONES: #{name} -> #{cc.name}" puts "NO ZONES: #{name} -> #{cc.name}"
next else
end valid_child_categories += 1
valid_child_categories += 1 # puts "ZONES: #{name} | #{cc.name} | #{cc.zones}"
cc.custom_zones.each_with_index do |zone, index| cc.custom_zones.each_with_index do |zone, index|
total_zones[index] += zone # puts "ZONE: #{name} | #{zone} | #{index}"
total_zones[index] += zone
end
end end
end end
if valid_child_categories > 0 if valid_child_categories > 0
average_zones = total_zones.map { |zone| zone / valid_child_categories } average_zones = total_zones.map { |zone| zone / valid_child_categories }
# puts "TOTAL: #{name} | #{total_zones} | #{valid_child_categories} | #{average_zones}" # puts "TOTAL: #{name} | #{total_zones} | #{valid_child_categories} | #{average_zones} | #{zone_widths}"
update(zones: average_zones) update(zones: average_zones.join(","))
end end
end end

Loading…
Cancel
Save