Sha256: 971adc05bfc9109a1975f93d8b52e01a8d61d25a046adc82ab2df545e7cf9996

Contents?: true

Size: 849 Bytes

Versions: 27

Compression:

Stored size: 849 Bytes

Contents

# frozen_string_literal: true

module Spree
  class Country < Spree::Base
    has_many :states, -> { order(:name) }, dependent: :destroy
    has_many :addresses, dependent: :nullify
    has_many :prices, class_name: "Spree::Price", foreign_key: "country_iso", primary_key: "iso"

    validates :name, :iso_name, presence: true

    def self.default
      if Spree::Config.default_country_id
        Spree::Deprecation.warn("Setting your default country via its ID is deprecated. Please set your default country via the `default_country_iso` setting.", caller)
        find_by(id: Spree::Config.default_country_id) || find_by!(iso: Spree::Config.default_country_iso)
      else
        find_by!(iso: Spree::Config.default_country_iso)
      end
    end

    def <=>(other)
      name <=> other.name
    end

    def to_s
      name
    end
  end
end

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
solidus_core-2.6.6 app/models/spree/country.rb
solidus_core-2.7.4 app/models/spree/country.rb
solidus_core-2.7.3 app/models/spree/country.rb
solidus_core-2.6.5 app/models/spree/country.rb
solidus_core-2.7.2 app/models/spree/country.rb
solidus_core-2.6.4 app/models/spree/country.rb
solidus_core-2.6.3 app/models/spree/country.rb
solidus_core-2.7.1 app/models/spree/country.rb
solidus_core-2.6.2 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.14 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.13 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.12 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.11 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.10 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.9 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.8 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.7 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.6 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.5 app/models/spree/country.rb
solidus_core_devise_token_auth-2.8.0.alpha.4 app/models/spree/country.rb