Sha256: 2168217bd65d7e8149d05753d791f720803c76bee1598efe6b34918583c7d2a8

Contents?: true

Size: 701 Bytes

Versions: 1

Compression:

Stored size: 701 Bytes

Contents

#	==	requires
#	*	description ( unique and > 3 chars )
class SampleType < ActiveRecordShared

	acts_as_list :scope => :parent_id
#	default_scope :order => :position
	default_scope :order => 'parent_id, position, description ASC'

	acts_like_a_hash

	has_many :samples

	belongs_to :parent, :class_name => 'SampleType'
	has_many :children, 
		:class_name => 'SampleType',
		:foreign_key => 'parent_id',
		:dependent => :nullify
	
	named_scope :roots, :conditions => { :parent_id => nil }

	named_scope :not_roots, :conditions => [
		'sample_types.parent_id IS NOT NULL' ]

	#	Returns description
	def to_s
		description
	end

	def is_root?
		parent_id.blank?
	end

	def is_child?
		!is_root?
	end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ccls-ccls_engine-3.11.0 app/models/sample_type.rb