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.

22 lines
535 B

  1. # frozen_string_literal: true
  2. class ActivityPub::BlockSerializer < ActiveModel::Serializer
  3. attributes :id, :type, :actor
  4. attribute :virtual_object, key: :object
  5. def id
  6. ActivityPub::TagManager.instance.uri_for(object) || [ActivityPub::TagManager.instance.uri_for(object.account), '#blocks/', object.id].join
  7. end
  8. def type
  9. 'Block'
  10. end
  11. def actor
  12. ActivityPub::TagManager.instance.uri_for(object.account)
  13. end
  14. def virtual_object
  15. ActivityPub::TagManager.instance.uri_for(object.target_account)
  16. end
  17. end