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 hosted by a single Solidus implementation can be built.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.defaultObject



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

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

Instance Method Details

#available_localesObject



36
37
38
39
40
41
42
43
# File 'app/models/spree/store.rb', line 36

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

#available_locales=(locales) ⇒ Object



45
46
47
48
49
50
51
52
# File 'app/models/spree/store.rb', line 45

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

#default_cart_tax_locationObject



58
59
60
61
# File 'app/models/spree/store.rb', line 58

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