Sha256: d560d5b089225a6d2a8a593e8ff691c6d58c809da0631e208f30b6fdf82ddd89
Contents?: true
Size: 528 Bytes
Versions: 4
Compression:
Stored size: 528 Bytes
Contents
# Trait to manage the attendees of a conference. # origin: M module Conference::AttendanceTrait as_trait do has_many :attendances, :dependent => :destroy has_many :attendees, :through => :attendances, :source => :user def attended_by?(user) @attendee_ids ||= attendee_ids @attendee_ids.include?(user.id) end def attend!(user) attendees << user unless attended_by?(user) end def cancel_attendance!(user) attendees.delete(user) if attended_by?(user) end end end
Version data entries
4 entries across 4 versions & 1 rubygems