Sha256: 9f2bd3e15e4d61c69607d16072b972e8c3a019e417dc394a887e2a1007574389

Contents?: true

Size: 499 Bytes

Versions: 70

Compression:

Stored size: 499 Bytes

Contents

# frozen_string_literal: true

module Spree
  module Preferences
    module Persistable
      extend ActiveSupport::Concern

      included do
        include Spree::Preferences::Preferable
        serialize :preferences, Hash
        after_initialize :initialize_preference_defaults
      end

      private

      def initialize_preference_defaults
        if has_attribute?(:preferences)
          self.preferences = default_preferences.merge(preferences)
        end
      end
    end
  end
end

Version data entries

70 entries across 70 versions & 1 rubygems

Version Path
solidus_core-4.2.5 lib/spree/preferences/persistable.rb
solidus_core-4.1.6 lib/spree/preferences/persistable.rb
solidus_core-4.2.4 lib/spree/preferences/persistable.rb
solidus_core-4.1.5 lib/spree/preferences/persistable.rb
solidus_core-4.1.4 lib/spree/preferences/persistable.rb
solidus_core-4.2.3 lib/spree/preferences/persistable.rb
solidus_core-4.1.3 lib/spree/preferences/persistable.rb
solidus_core-4.0.4 lib/spree/preferences/persistable.rb
solidus_core-3.4.6 lib/spree/preferences/persistable.rb
solidus_core-4.0.3 lib/spree/preferences/persistable.rb
solidus_core-4.1.2 lib/spree/preferences/persistable.rb
solidus_core-4.2.2 lib/spree/preferences/persistable.rb
solidus_core-3.4.5 lib/spree/preferences/persistable.rb
solidus_core-4.2.1 lib/spree/preferences/persistable.rb
solidus_core-4.2.0 lib/spree/preferences/persistable.rb
solidus_core-4.1.1 lib/spree/preferences/persistable.rb
solidus_core-4.0.2 lib/spree/preferences/persistable.rb
solidus_core-3.4.4 lib/spree/preferences/persistable.rb
solidus_core-3.3.4 lib/spree/preferences/persistable.rb
solidus_core-3.2.9 lib/spree/preferences/persistable.rb