You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
582 B

  1. class Follow < ApplicationRecord
  2. include Streamable
  3. belongs_to :account
  4. belongs_to :target_account, class_name: 'Account'
  5. validates :account, :target_account, presence: true
  6. validates :account_id, uniqueness: { scope: :target_account_id }
  7. def verb
  8. self.destroyed? ? :unfollow : :follow
  9. end
  10. def target
  11. self.target_account
  12. end
  13. def object_type
  14. :person
  15. end
  16. def title
  17. self.destroyed? ? "#{self.account.acct} is no longer following #{self.target_account.acct}" : "#{self.account.acct} started following #{self.target_account.acct}"
  18. end
  19. end