diff --git a/core/app/models/spree/base.rb b/core/app/models/spree/base.rb index 453abcb4625..1cc27bf1b09 100644 --- a/core/app/models/spree/base.rb +++ b/core/app/models/spree/base.rb @@ -5,10 +5,6 @@ class Spree::Base < ActiveRecord::Base include Spree::Core::Permalinks include Spree::RansackableAttributes - def preferences - read_attribute(:preferences) || self.class.preferences_coder_class.new - end - def initialize_preference_defaults if has_attribute?(:preferences) self.preferences = default_preferences.merge(preferences) @@ -20,15 +16,11 @@ def initialize_preference_defaults def self.preference(*args) # after_initialize can be called multiple times with the same symbol, it # will only be called once on initialization. - serialize :preferences, preferences_coder_class + serialize :preferences, Hash after_initialize :initialize_preference_defaults super end - def self.preferences_coder_class - Hash - end - self.abstract_class = true # Provides a scope that should be included any time products diff --git a/core/spec/models/spree/stock/estimator_spec.rb b/core/spec/models/spree/stock/estimator_spec.rb index aba4e7116bc..7e8f11c4c23 100644 --- a/core/spec/models/spree/stock/estimator_spec.rb +++ b/core/spec/models/spree/stock/estimator_spec.rb @@ -96,24 +96,6 @@ module Stock context "general shipping methods" do before { Spree::ShippingMethod.all.each(&:destroy) } - context 'with a custom shipping calculator with no preference' do - class Spree::Calculator::Shipping::NoPreferences < Spree::ShippingCalculator - def compute_package(_package) - # no op - end - end - - let!(:shipping_methods) do - [ - create(:shipping_method, calculator: Spree::Calculator::Shipping::NoPreferences.new) - ] - end - - it 'does not raise an error' do - expect { subject.shipping_rates(package) }.not_to raise_error - end - end - context 'with two shipping methods of different cost' do let!(:shipping_methods) do [