Sha256: 638ab5c5e11eff4ae6790c050efb5d0caa0ae7e30e856cd5b2e8027070dbf3c8

Contents?: true

Size: 755 Bytes

Versions: 26

Compression:

Stored size: 755 Bytes

Contents

# Default class for deciding what the current store is, given an HTTP request
# This is an extension point used in Spree::Core::ControllerHelpers::Store
# Custom versions of this class must respond to a store instance method
module Spree
  module Core
    class CurrentStore
      def initialize(request)
        @request = request
      end

      # Chooses the current store based on a request.
      # Checks request headers for HTTP_SPREE_STORE and falls back to
      # looking up by the requesting server's name.
      # @return [Spree::Store]
      def store
        Spree::Store.current(store_key)
      end

      private

      def store_key
        @request.headers['HTTP_SPREE_STORE'] || @request.env['SERVER_NAME']
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
solidus_core-1.2.3 lib/spree/core/current_store.rb
solidus_core-1.1.4 lib/spree/core/current_store.rb
solidus_core-1.0.7 lib/spree/core/current_store.rb
solidus_core-1.0.6 lib/spree/core/current_store.rb
solidus_core-1.2.2 lib/spree/core/current_store.rb
solidus_core-1.2.1 lib/spree/core/current_store.rb
solidus_core-1.1.3 lib/spree/core/current_store.rb
solidus_core-1.0.5 lib/spree/core/current_store.rb
solidus_core-1.2.0 lib/spree/core/current_store.rb
solidus_core-1.2.0.rc2 lib/spree/core/current_store.rb
solidus_core-1.0.4 lib/spree/core/current_store.rb
solidus_core-1.1.2 lib/spree/core/current_store.rb
solidus_core-1.2.0.rc1 lib/spree/core/current_store.rb
solidus_core-1.2.0.beta1 lib/spree/core/current_store.rb
solidus_core-1.0.3 lib/spree/core/current_store.rb
solidus_core-1.1.1 lib/spree/core/current_store.rb
solidus_core-1.1.0 lib/spree/core/current_store.rb
solidus_core-1.1.0.pre2 lib/spree/core/current_store.rb
solidus_core-1.1.0.pre1 lib/spree/core/current_store.rb
solidus_core-1.1.0.beta1 lib/spree/core/current_store.rb