category.rb revision 28c312c686f25fd40963983fa3b725469eac682a
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen# has_and_belongs_to_many :ontologies
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen# attr_accessible :name, :parent, :parent_id
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen# validates :name, :uniqueness => { :scope => :ancestry, :message => 'Already taken' }
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen# has_ancestry
f158d9a303bb15a6848ca276c9391c7ca52e452bTimo Sirainen# def self.arrange_as_array(options={}, hash=nil)
2670cd577aa57eb9f915a4f4220ae48c9b4fc5fbTimo Sirainen# hash ||= arrange(options)
6ecc5475f7efd4dcdf4ce727191693de24c5cf51Timo Sirainen# hash.each do |node, children|
6f5310d61cb7235ae5b3f42a3cd27605ace770c4Timo Sirainen# arr += arrange_as_array(options, children) unless children.nil?
6f5310d61cb7235ae5b3f42a3cd27605ace770c4Timo Sirainen# def name_for_selects
6f5310d61cb7235ae5b3f42a3cd27605ace770c4Timo Sirainen# "#{'-' * depth} #{name}"
02e78eb1e4fbe13d0bd815d3d3fc7200f88a1fc4Timo Sirainen# def possible_parents
02e78eb1e4fbe13d0bd815d3d3fc7200f88a1fc4Timo Sirainen# parents = Category.arrange_as_array(:order => 'name')
6ecc5475f7efd4dcdf4ce727191693de24c5cf51Timo Sirainen# return new_record? ? parents : parents - subtree