From faac5f4b2d414b0f521a1ea71cc6d1251d3445f6 Mon Sep 17 00:00:00 2001 From: Pau Perez Date: Mon, 26 Nov 2018 17:01:04 +0100 Subject: [PATCH] Refactor PropertyMerge to use Ruby's #uniq instead --- app/models/spree/property_decorator.rb | 3 +++ lib/open_food_network/property_merge.rb | 13 ++----------- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/app/models/spree/property_decorator.rb b/app/models/spree/property_decorator.rb index 7349436a2b..5950212149 100644 --- a/app/models/spree/property_decorator.rb +++ b/app/models/spree/property_decorator.rb @@ -26,6 +26,9 @@ module Spree # When a Property is destroyed, dependent-destroy will destroy all ProductProperties, # which will take care of refreshing the products cache + def property + self + end private diff --git a/lib/open_food_network/property_merge.rb b/lib/open_food_network/property_merge.rb index 9c21fb7b0d..82bf92eaee 100644 --- a/lib/open_food_network/property_merge.rb +++ b/lib/open_food_network/property_merge.rb @@ -1,18 +1,9 @@ module OpenFoodNetwork class PropertyMerge def self.merge(primary, secondary) - primary + secondary.reject do |secondary_p| - primary.any? do |primary_p| - property_of(primary_p).presentation == property_of(secondary_p).presentation - end + (primary + secondary).uniq do |property_object| + property_object.property.presentation end end - - - private - - def self.property_of(p) - p.respond_to?(:property) ? p.property : p - end end end