Sha256: 39bb36b530e3f1c27b6cc4cf173e8484a7a2ae3e00cafa7eda2dde2d572e4e6e

Contents?: true

Size: 530 Bytes

Versions: 26

Compression:

Stored size: 530 Bytes

Contents

module Spree
  class TaxCategory < Spree::Base
    acts_as_paranoid
    validates :name, presence: true
    validates_uniqueness_of :name, unless: :deleted_at

    has_many :tax_rates, dependent: :destroy, inverse_of: :tax_category
    after_save :ensure_one_default

    def self.default
      find_by(is_default: true)
    end

    def ensure_one_default
      if is_default
        Spree::TaxCategory.where(is_default: true).where.not(id: id).update_all(is_default: false, updated_at: Time.current)
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
solidus_core-2.2.2 app/models/spree/tax_category.rb
solidus_core-2.1.1 app/models/spree/tax_category.rb
solidus_core-2.0.3 app/models/spree/tax_category.rb
solidus_core-1.4.2 app/models/spree/tax_category.rb
solidus_core-1.3.2 app/models/spree/tax_category.rb
solidus_core-2.0.2 app/models/spree/tax_category.rb
solidus_core-1.4.1 app/models/spree/tax_category.rb
solidus_core-2.2.1 app/models/spree/tax_category.rb
solidus_core-2.2.0 app/models/spree/tax_category.rb
solidus_core-2.2.0.rc1 app/models/spree/tax_category.rb
solidus_core-2.2.0.beta1 app/models/spree/tax_category.rb
solidus_core-2.1.0 app/models/spree/tax_category.rb
solidus_core-2.1.0.rc1 app/models/spree/tax_category.rb
solidus_core-2.0.1 app/models/spree/tax_category.rb
solidus_core-2.1.0.beta1 app/models/spree/tax_category.rb
solidus_core-2.0.0 app/models/spree/tax_category.rb
solidus_core-1.4.0 app/models/spree/tax_category.rb
solidus_core-2.0.0.rc1 app/models/spree/tax_category.rb
solidus_core-1.4.0.rc1 app/models/spree/tax_category.rb
solidus_core-2.0.0.beta1 app/models/spree/tax_category.rb