Sha256: 1f40b07b88709666c8013357230f5299340530bfd2df8336163f8938b80a1fd2

Contents?: true

Size: 1.23 KB

Versions: 29

Compression:

Stored size: 1.23 KB

Contents

module Spree
  # Singleton class to access the configuration object (AppConfiguration.first by default) and its preferences.
  #
  # Usage:
  #   Spree::Config[:foo]                  # Returns the +foo+ preference
  #   Spree::Config[]                      # Returns a Hash with all the application preferences
  #   Spree::Config.instance               # Returns the configuration object (AppConfiguration.first)
  #   Spree::Config.set(preferences_hash)  # Set the application preferences as especified in +preference_hash+
  #   Spree::Config.searcher/searcher=     # get/set the default product search implementation
  class Config
    include Singleton
    include Spree::PreferenceAccess

    class << self
      def instance
        return @configuration if @configuration
        return nil unless ActiveRecord::Base.connection.tables.include?('configurations')
        @configuration ||= AppConfiguration.find_or_create_by_name("Default configuration")
        @configuration
      end

      # searcher_class allows spree extension writers to provide their own Search class
      def searcher_class
        @searcher_class ||= Spree::Search::Base
      end

      def searcher_class=(sclass)
        @searcher_class = sclass
      end

    end
  end
end

Version data entries

29 entries across 29 versions & 6 rubygems

Version Path
spree_core-0.70.7 lib/spree/config.rb
spree_core-0.70.6 lib/spree/config.rb
apispree_core-0.0.0 lib/spree/config.rb
My-Commerce_core-1.1.0 lib/spree/config.rb
My-Commerce_core-1.0.0 lib/spree/config.rb
MyCommerceapi-1.0.0 core/lib/spree/config.rb
MyCommerce-0.0.3 core/lib/spree/config.rb
rfcommerce_core-0.0.3 lib/spree/config.rb
spree_core-0.60.6 lib/spree/config.rb
spree_core-0.70.5 lib/spree/config.rb
spree_core-0.70.4 lib/spree/config.rb
spree_core-0.60.5 lib/spree/config.rb
spree_core-0.70.3 lib/spree/config.rb
spree_core-0.70.2 lib/spree/config.rb
spree_core-0.50.4 lib/spree/config.rb
spree_core-0.60.4 lib/spree/config.rb
spree_core-0.50.3 lib/spree/config.rb
spree_core-0.60.3 lib/spree/config.rb
spree_core-0.70.1 lib/spree/config.rb
spree_core-0.70.0 lib/spree/config.rb