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.

29 lines
499 B

  1. # frozen_string_literal: true
  2. class Favourite < ApplicationRecord
  3. include Paginable
  4. include Streamable
  5. belongs_to :account, inverse_of: :favourites
  6. belongs_to :status, inverse_of: :favourites, touch: true
  7. validates :status_id, uniqueness: { scope: :account_id }
  8. def verb
  9. :favorite
  10. end
  11. def title
  12. "#{account.acct} favourited a status by #{status.account.acct}"
  13. end
  14. delegate :object_type, to: :target
  15. def thread
  16. status
  17. end
  18. def target
  19. thread
  20. end
  21. end