Sha256: 25f7b99575b7085482863c363f3f5d98a8f89ee0990004b97ffd0c8d6bc4b42e
Contents?: true
Size: 937 Bytes
Versions: 3
Compression:
Stored size: 937 Bytes
Contents
# frozen_string_literal: true module Spree class TaxCategory < Spree::Base include Spree::SoftDeletable self.allowed_ransackable_attributes = %w[name description] 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:).update_all(is_default: false, updated_at: Time.current) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
solidus_core-4.4.2 | app/models/spree/tax_category.rb |
solidus_core-4.4.1 | app/models/spree/tax_category.rb |
solidus_core-4.4.0 | app/models/spree/tax_category.rb |