Sha256: ef48d94fbe24bf00fa4cbe59a668f6ae4ef8969a4da5bab8ccd885a5e19de45d
Contents?: true
Size: 876 Bytes
Versions: 85
Compression:
Stored size: 876 Bytes
Contents
# frozen_string_literal: true module Spree class TaxCategory < Spree::Base include Spree::SoftDeletable after_discard do self.tax_rate_tax_categories = [] end validates :name, presence: true validates_uniqueness_of :name, case_sensitive: true, unless: :deleted_at has_many :tax_rate_tax_categories, class_name: 'Spree::TaxRateTaxCategory', dependent: :destroy, inverse_of: :tax_category has_many :tax_rates, through: :tax_rate_tax_categories, class_name: 'Spree::TaxRate', inverse_of: :tax_categories 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
85 entries across 85 versions & 1 rubygems