Retrospring/app/models/list.rb

30 lines
667 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class List < ApplicationRecord
include List::TimelineMethods
2015-01-08 04:16:13 -08:00
belongs_to :user
has_many :list_members, dependent: :destroy
2022-07-09 10:03:16 -07:00
validates :name,
2022-07-09 10:16:18 -07:00
length: { minimum: 1 },
2022-07-09 10:03:16 -07:00
uniqueness: { scope: :user_id }
2015-01-14 08:48:21 -08:00
validates :display_name, length: { maximum: 30 }
before_validation do
2022-07-09 10:16:18 -07:00
display_name.strip!
self.name = display_name.parameterize
self.name = "-followers-" if name == "followers"
end
alias members list_members
2015-01-11 21:41:44 -08:00
def add_member(user)
ListMember.create! list: self, user: user
end
2015-01-11 21:41:44 -08:00
def remove_member(user)
ListMember.where(list: self, user: user).first!.destroy
2015-01-11 21:41:44 -08:00
end
2015-01-08 04:16:13 -08:00
end