Sha256: 2e20a29860342ef7306fa8858031f95b2075917280be9fba66dec3c272d7aea4

Contents?: true

Size: 594 Bytes

Versions: 12

Compression:

Stored size: 594 Bytes

Contents

module Spree
  class Taxonomy < ActiveRecord::Base
    validates :name, :presence => true

    attr_accessible :name

    has_many :taxons
    has_one :root, :conditions => { :parent_id => nil }, :class_name => "Spree::Taxon",
                   :dependent => :destroy

    after_save :set_name

    default_scope :order => "#{self.table_name}.position"

    private
      def set_name
        if root
          root.update_column(:name, name)
        else
          self.root = Taxon.create!({ :taxonomy_id => id, :name => name }, :without_protection => true)
        end
      end

  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
spree_core-1.3.5 app/models/spree/taxonomy.rb
spree_core-1.3.4 app/models/spree/taxonomy.rb
spree_core-1.3.3 app/models/spree/taxonomy.rb
spree_core-1.2.5 app/models/spree/taxonomy.rb
spree_core-1.2.4 app/models/spree/taxonomy.rb
spree_core-1.3.2 app/models/spree/taxonomy.rb
spree_core-1.2.3 app/models/spree/taxonomy.rb
spree_core-1.3.1 app/models/spree/taxonomy.rb
spree_core-1.3.0 app/models/spree/taxonomy.rb
spree_core-1.3.0.rc2 app/models/spree/taxonomy.rb
dup_spree_core-1.3.0.rc1 app/models/spree/taxonomy.rb
spree_core-1.3.0.rc1 app/models/spree/taxonomy.rb