hubfeenix.fi/app/models/member.rb

37 lines
841 B
Ruby

class Member < ApplicationRecord
# Include default devise modules. Others available are:
# , :lockable, :timeoutable, :trackable and :omniauthable
devise :database_authenticatable, :registerable,:confirmable,
:recoverable, :rememberable, :validatable
mount_uploader :picture, PictureUploader
has_many :entities
has_many :profiles
Profile.kinds.each do |kind|
define_method :"#{kind}_profile" do
Profile.where( member_id: self.id).where(kind: kind).first
end
end
def profile( kind )
Profile.where( member_id: self.id).where(kind: kind).first
end
def teacher
profile( :teacher )
end
def future_events
teacher = profile( :teacher )
return [] unless teacher
teacher.future_events
end
def admin?
email == "torsten@villataika.fi"
end
alias :admin :admin?
end