Retrospring/app/models/group.rb

25 lines
614 B
Ruby
Raw Normal View History

2015-01-08 04:16:13 -08:00
class Group < ActiveRecord::Base
belongs_to :user
has_many :group_members, dependent: :destroy
before_validation do
self.name = self.display_name.downcase.sub(/\s+/, '-')
self.name = 'group-followers' if self.name == 'followers'
end
2015-01-11 21:41:44 -08:00
alias members group_members
def add_member(user)
GroupMember.create! group: self, user: user
end
2015-01-11 21:41:44 -08:00
def remove_member(user)
GroupMember.where(group: self, user: user).first!.destroy
end
2015-01-13 04:23:12 -08:00
# @return [Array] the groups' timeline
def timeline
Answer.where("user_id in (?)", members.pluck(:user_id)).order(:created_at).reverse_order
end
2015-01-08 04:16:13 -08:00
end