Sha256: e10191362d7536f96bbdb54f7d1585279177a7c05c344d85755a4232195366b0

Contents?: true

Size: 828 Bytes

Versions: 26

Compression:

Stored size: 828 Bytes

Contents

module Spree
  module Preferences
    module StaticallyConfigurable
      extend ActiveSupport::Concern

      class_methods do
        def preference_sources
          Spree::Config.static_model_preferences.for_class(self)
        end

        def available_preference_sources
          preference_sources.keys
        end
      end

      # override assignment to cast empty string to nil
      def preference_source=(val)
        super(val.presence)
      end

      def preferences
        if respond_to?(:preference_source) && preference_source
          self.class.preference_sources[preference_source] || {}
        else
          super
        end
      end

      def preferences=(val)
        if respond_to?(:preference_source) && preference_source
        else
          super
        end
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
solidus_core-1.1.4 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.0.7 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.3.0.beta1 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.0.6 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.2.2 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.2.1 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.1.3 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.0.5 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.2.0 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.2.0.rc2 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.0.4 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.1.2 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.2.0.rc1 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.2.0.beta1 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.0.3 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.1.1 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.1.0 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.1.0.pre2 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.1.0.pre1 app/models/spree/preferences/statically_configurable.rb
solidus_core-1.1.0.beta1 app/models/spree/preferences/statically_configurable.rb