Sha256: 7f7233743ac88a173afae0420dec444e43b15426a69ed24b6af3f13bfdc60ebc

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.2.2 app/models/spree/taxonomy.rb
spree_core-1.2.0 app/models/spree/taxonomy.rb
spree_core-1.2.0.rc2 app/models/spree/taxonomy.rb
spree_core-1.2.0.rc1 app/models/spree/taxonomy.rb