Sha256: f1c9a0fc6467f42a69f237c31fa7c5ff54de5cca937cd2e127ffc75c56aaf884

Contents?: true

Size: 535 Bytes

Versions: 4

Compression:

Stored size: 535 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

    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

4 entries across 4 versions & 1 rubygems

Version Path
spree_core-1.1.6 app/models/spree/taxonomy.rb
spree_core-1.1.5 app/models/spree/taxonomy.rb
spree_core-1.1.4 app/models/spree/taxonomy.rb
spree_core-1.1.3 app/models/spree/taxonomy.rb