26 lines
523 B
Ruby
26 lines
523 B
Ruby
|
class Person < ActiveRecord::Base
|
||
|
has_many :parenthoods
|
||
|
has_many :children, through: :parenthoods
|
||
|
|
||
|
validates :first_name, presence: true
|
||
|
validates :last_name, presence: true
|
||
|
|
||
|
scope :with_name, lambda { |name|
|
||
|
where("concat(first_name, ' ', last_name) RLIKE ?", name)
|
||
|
}
|
||
|
|
||
|
scope :just_parents, lambda {
|
||
|
joins(:children)
|
||
|
.order(:first_name)
|
||
|
.uniq
|
||
|
}
|
||
|
|
||
|
scope :staff, -> { where(staff: true) }
|
||
|
|
||
|
scope :admins, -> { where(admin: true) }
|
||
|
|
||
|
def name
|
||
|
"#{first_name} #{last_name}"
|
||
|
end
|
||
|
end
|