Retrospring/app/models/group.rb

28 lines
629 B
Ruby
Raw Normal View History

# frozen_string_literal: true
2020-04-18 15:59:18 -07:00
class Group < ApplicationRecord
include Group::TimelineMethods
2015-01-08 04:16:13 -08:00
belongs_to :user
has_many :group_members, dependent: :destroy
validates :name, length: { minimum: 1 }
2015-01-14 08:48:21 -08:00
validates :display_name, length: { maximum: 30 }
before_validation do
2015-01-14 08:48:21 -08:00
self.display_name.strip!
self.name = self.display_name.parameterize
2015-01-14 08:48:21 -08:00
self.name = '-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-08 04:16:13 -08:00
end