From e413920335a3c7efe407d84e8340e96667b05271 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Mon, 31 Aug 2020 16:30:23 +0100 Subject: [PATCH] Move both OptionValueNamer and VariantAndLineItemNaming to app/services/variant_units --- app/models/spree/line_item_decorator.rb | 4 ++-- app/models/spree/variant_decorator.rb | 4 ++-- .../services/variant_units}/option_value_namer.rb | 4 ++-- .../services/variant_units}/variant_and_line_item_naming.rb | 6 +++--- .../order_management/reports/bulk_coop/bulk_coop_report.rb | 4 ++-- lib/open_food_network/lettuce_share_report.rb | 5 +++-- spec/models/spree/variant_spec.rb | 6 +++--- .../variant_units}/option_value_namer_spec.rb | 2 +- 8 files changed, 18 insertions(+), 17 deletions(-) rename {lib/open_food_network => app/services/variant_units}/option_value_namer.rb (97%) rename {lib/open_food_network => app/services/variant_units}/variant_and_line_item_naming.rb (96%) rename spec/{lib/open_food_network => services/variant_units}/option_value_namer_spec.rb (99%) diff --git a/app/models/spree/line_item_decorator.rb b/app/models/spree/line_item_decorator.rb index c58b072892..558b2efc59 100644 --- a/app/models/spree/line_item_decorator.rb +++ b/app/models/spree/line_item_decorator.rb @@ -1,8 +1,8 @@ require 'open_food_network/scope_variant_to_hub' -require 'open_food_network/variant_and_line_item_naming' +require 'variant_units/variant_and_line_item_naming' Spree::LineItem.class_eval do - include OpenFoodNetwork::VariantAndLineItemNaming + include VariantUnits::VariantAndLineItemNaming include LineItemBasedAdjustmentHandling has_and_belongs_to_many :option_values, join_table: 'spree_option_values_line_items', class_name: 'Spree::OptionValue' diff --git a/app/models/spree/variant_decorator.rb b/app/models/spree/variant_decorator.rb index 41b1a4eb76..737b2a8da4 100644 --- a/app/models/spree/variant_decorator.rb +++ b/app/models/spree/variant_decorator.rb @@ -1,5 +1,5 @@ require 'open_food_network/enterprise_fee_calculator' -require 'open_food_network/variant_and_line_item_naming' +require 'variant_units/variant_and_line_item_naming' require 'concerns/variant_stock' Spree::Variant.class_eval do @@ -8,7 +8,7 @@ Spree::Variant.class_eval do # This file may be double-loaded in delayed job environment, so we check before # removing the Spree method to prevent error. remove_method :options_text if instance_methods(false).include? :options_text - include OpenFoodNetwork::VariantAndLineItemNaming + include VariantUnits::VariantAndLineItemNaming include VariantStock has_many :exchange_variants diff --git a/lib/open_food_network/option_value_namer.rb b/app/services/variant_units/option_value_namer.rb similarity index 97% rename from lib/open_food_network/option_value_namer.rb rename to app/services/variant_units/option_value_namer.rb index c6edb51d21..7cb8fc8547 100644 --- a/lib/open_food_network/option_value_namer.rb +++ b/app/services/variant_units/option_value_namer.rb @@ -2,7 +2,7 @@ require "open_food_network/i18n_inflections" -module OpenFoodNetwork +module VariantUnits class OptionValueNamer def initialize(variant = nil) @variant = variant @@ -99,7 +99,7 @@ module OpenFoodNetwork end def pluralize(unit_name, count) - I18nInflections.pluralize(unit_name, count) + OpenFoodNetwork::I18nInflections.pluralize(unit_name, count) end end end diff --git a/lib/open_food_network/variant_and_line_item_naming.rb b/app/services/variant_units/variant_and_line_item_naming.rb similarity index 96% rename from lib/open_food_network/variant_and_line_item_naming.rb rename to app/services/variant_units/variant_and_line_item_naming.rb index c1c065efc2..6e325c1fe5 100644 --- a/lib/open_food_network/variant_and_line_item_naming.rb +++ b/app/services/variant_units/variant_and_line_item_naming.rb @@ -2,9 +2,9 @@ # It contains all of our logic for creating and naming option values (which are associated # with both models) and methods for printing human readable "names" for instances of these models. -require 'open_food_network/option_value_namer' +require 'variant_units/option_value_namer' -module OpenFoodNetwork +module VariantUnits module VariantAndLineItemNaming # Copied and modified from Spree::Variant def options_text @@ -103,7 +103,7 @@ module OpenFoodNetwork if has_attribute?(:display_as) && display_as.present? display_as else - option_value_namer = OpenFoodNetwork::OptionValueNamer.new self + option_value_namer = VariantUnits::OptionValueNamer.new self option_value_namer.name end end diff --git a/engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb b/engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb index bc44c2b857..c9c8b822f1 100644 --- a/engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb +++ b/engines/order_management/app/services/order_management/reports/bulk_coop/bulk_coop_report.rb @@ -194,11 +194,11 @@ module OrderManagement end def option_value_value(line_items) - OpenFoodNetwork::OptionValueNamer.new(line_items.first).value + VariantUnits::OptionValueNamer.new(line_items.first).value end def option_value_unit(line_items) - OpenFoodNetwork::OptionValueNamer.new(line_items.first).unit + VariantUnits::OptionValueNamer.new(line_items.first).unit end def order_billing_address_name(line_items) diff --git a/lib/open_food_network/lettuce_share_report.rb b/lib/open_food_network/lettuce_share_report.rb index c04a7b3adb..49fffbadac 100644 --- a/lib/open_food_network/lettuce_share_report.rb +++ b/lib/open_food_network/lettuce_share_report.rb @@ -1,4 +1,5 @@ require 'open_food_network/products_and_inventory_report_base' +require 'variant_units/option_value_namer' module OpenFoodNetwork class LettuceShareReport < ProductsAndInventoryReportBase @@ -27,8 +28,8 @@ module OpenFoodNetwork variant.product.name, variant.full_name, '', - OptionValueNamer.new(variant).value, - OptionValueNamer.new(variant).unit, + VariantUnits::OptionValueNamer.new(variant).value, + VariantUnits::OptionValueNamer.new(variant).unit, variant.price, '', gst(variant), diff --git a/spec/models/spree/variant_spec.rb b/spec/models/spree/variant_spec.rb index 7a3b2ac85c..86cbbf174c 100644 --- a/spec/models/spree/variant_spec.rb +++ b/spec/models/spree/variant_spec.rb @@ -1,5 +1,5 @@ require 'spec_helper' -require 'open_food_network/option_value_namer' +require 'variant_units/option_value_namer' module Spree describe Variant do @@ -436,7 +436,7 @@ module Spree let!(:v) { create(:variant, product: p, unit_value: 5, unit_description: 'bar', display_as: '') } it "requests the name of the new option_value from OptionValueName" do - expect_any_instance_of(OpenFoodNetwork::OptionValueNamer).to receive(:name).exactly(1).times.and_call_original + expect_any_instance_of(VariantUnits::OptionValueNamer).to receive(:name).exactly(1).times.and_call_original v.update(unit_value: 10, unit_description: 'foo') ov = v.option_values.last expect(ov.name).to eq("10g foo") @@ -448,7 +448,7 @@ module Spree let!(:v) { create(:variant, product: p, unit_value: 5, unit_description: 'bar', display_as: 'FOOS!') } it "does not request the name of the new option_value from OptionValueName" do - expect_any_instance_of(OpenFoodNetwork::OptionValueNamer).not_to receive(:name) + expect_any_instance_of(VariantUnits::OptionValueNamer).not_to receive(:name) v.update!(unit_value: 10, unit_description: 'foo') ov = v.option_values.last expect(ov.name).to eq("FOOS!") diff --git a/spec/lib/open_food_network/option_value_namer_spec.rb b/spec/services/variant_units/option_value_namer_spec.rb similarity index 99% rename from spec/lib/open_food_network/option_value_namer_spec.rb rename to spec/services/variant_units/option_value_namer_spec.rb index 88e215d5b6..3e153896fd 100644 --- a/spec/lib/open_food_network/option_value_namer_spec.rb +++ b/spec/services/variant_units/option_value_namer_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -module OpenFoodNetwork +module VariantUnits describe OptionValueNamer do describe "generating option value name" do let(:v) { Spree::Variant.new }