box.rb
734 Bytes
class Box < ActiveRecord::Base
has_many :blocks
belongs_to :owner, :polymorphic => true
#we cannot have two boxs with the same number to the same owner
validates_uniqueness_of :number, :scope => [:owner_type, :owner_id]
#<tt>number</tt> could not be nil and must be an integer
validates_numericality_of :number, :only_integer => true, :message => _('%{fn} must be composed only of integers.')
# Find all boxes except the box with the id given.
def self.find_not_box(box_id)
return Box.find(:all, :conditions => ['id != ?', box_id])
end
# Return all blocks of the current box object sorted by the position block
def blocks_sort_by_position
self.blocks.sort{|x,y| x.position <=> y.position}
end
end