From 7f8581fd9f7662fbf8bc0b46e362a68593a92bca Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Tue, 25 Feb 2025 16:06:51 +1100 Subject: [PATCH] DRY controller methods which became too long --- app/controllers/admin/dfc_product_imports_controller.rb | 6 ++---- engines/dfc_provider/app/services/dfc_catalog.rb | 7 +++++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/app/controllers/admin/dfc_product_imports_controller.rb b/app/controllers/admin/dfc_product_imports_controller.rb index d3001838b6..5b35082908 100644 --- a/app/controllers/admin/dfc_product_imports_controller.rb +++ b/app/controllers/admin/dfc_product_imports_controller.rb @@ -17,8 +17,7 @@ module Admin api = DfcRequest.new(spree_current_user) @catalog_url = params.require(:catalog_url).strip @catalog_json = api.call(@catalog_url) - graph = DfcIo.import(@catalog_json) - catalog = DfcCatalog.new(graph) + catalog = DfcCatalog.from_json(@catalog_json) # Render table and let user decide which ones to import. @items = catalog.products.map do |subject| @@ -48,8 +47,7 @@ module Admin ids = params.require(:semanticIds) # Load DFC catalog JSON - graph = DfcIo.import(params.require(:catalog_json)) - catalog = DfcCatalog.new(graph) + catalog = DfcCatalog.from_json(params.require(:catalog_json)) catalog.apply_wholesale_values! # Import all selected products for given enterprise. diff --git a/engines/dfc_provider/app/services/dfc_catalog.rb b/engines/dfc_provider/app/services/dfc_catalog.rb index 431454bd54..59d2e6bc0b 100644 --- a/engines/dfc_provider/app/services/dfc_catalog.rb +++ b/engines/dfc_provider/app/services/dfc_catalog.rb @@ -4,9 +4,12 @@ class DfcCatalog def self.load(user, catalog_url) api = DfcRequest.new(user) catalog_json = api.call(catalog_url) - graph = DfcIo.import(catalog_json) - new(graph) + from_json(catalog_json) + end + + def self.from_json(catalog_json) + new(DfcIo.import(catalog_json)) end def initialize(graph)