Class: Spree::Store

Inherits:
Base
  • Object
show all
Defined in:
app/models/spree/store.rb

Overview

Records store specific configuration such as store name and URL.

‘Spree::Store` provides the foundational ActiveRecord model for recording information specific to your store such as its name, URL, and tax location. This model will provide the foundation upon which [support for multiple stores](github.com/solidusio/solidus/issues/112) hosted by a single Solidus implementation can be built.

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

display_includes

Methods included from Core::Permalinks

#generate_permalink, #save_permalink

Class Method Details

.defaultObject



48
49
50
# File 'app/models/spree/store.rb', line 48

def self.default
  where(default: true).first || new
end

Instance Method Details

#available_localesObject



30
31
32
33
34
35
36
37
# File 'app/models/spree/store.rb', line 30

def available_locales
  locales = super()
  if locales
    super().split(",").map(&:to_sym)
  else
    Spree.i18n_available_locales
  end
end

#available_locales=(locales) ⇒ Object



39
40
41
42
43
44
45
46
# File 'app/models/spree/store.rb', line 39

def available_locales=(locales)
  locales = locales.reject(&:blank?)
  if locales.empty?
    super(nil)
  else
    super(locales.map(&:to_s).join(","))
  end
end

#default_cart_tax_locationObject



52
53
54
55
# File 'app/models/spree/store.rb', line 52

def default_cart_tax_location
  @default_cart_tax_location ||=
    Spree::Tax::TaxLocation.new(country: Spree::Country.find_by(iso: cart_tax_country_iso))
end