From f44228eef73576e200928b824c22869f9eed135d Mon Sep 17 00:00:00 2001 From: Mohamed ABDELLANI Date: Wed, 19 Oct 2022 10:45:56 +0100 Subject: [PATCH] extract variant duplication logic into a separated function --- lib/spree/core/product_duplicator.rb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/spree/core/product_duplicator.rb b/lib/spree/core/product_duplicator.rb index 68a1ced2d7..486faacbce 100644 --- a/lib/spree/core/product_duplicator.rb +++ b/lib/spree/core/product_duplicator.rb @@ -33,12 +33,16 @@ module Spree def duplicate_master master = product.master - master.dup.tap do |new_master| - new_master.sku = "" - new_master.deleted_at = nil - new_master.images = master.images.map { |image| duplicate_image image } - new_master.price = master.price - new_master.currency = master.currency + duplicate_variant(master) + end + + def duplicate_variant(variant) + variant.dup.tap do |new_variant| + new_variant.sku = "" + new_variant.deleted_at = nil + new_variant.images = variant.images.map { |image| duplicate_image image } + new_variant.price = variant.price + new_variant.currency = variant.currency end end