Sha256: e538054aa67b2fcb74da2127aa5fb4ab28af9f73a217dc18c4c6a71d5edd8560

Contents?: true

Size: 569 Bytes

Versions: 1

Compression:

Stored size: 569 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: "#{quoted_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

1 entries across 1 versions & 1 rubygems

Version Path
spree_core-2.0.13 app/models/spree/taxonomy.rb