1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
# frozen_string_literal: true
class ActivityPub::VoteSerializer < ActiveModel::Serializer
class NoteSerializer < ActiveModel::Serializer
attributes :id, :type, :name, :attributed_to,
:in_reply_to, :to
def id
ActivityPub::TagManager.instance.uri_for(object) || [ActivityPub::TagManager.instance.uri_for(object.account), '#votes/', object.id].join
end
def type
'Note'
end
def name
object.poll.options[object.choice.to_i]
end
def attributed_to
ActivityPub::TagManager.instance.uri_for(object.account)
end
def in_reply_to
ActivityPub::TagManager.instance.uri_for(object.poll.status)
end
def to
ActivityPub::TagManager.instance.uri_for(object.poll.account)
end
end
attributes :id, :type, :actor, :to
has_one :object, serializer: ActivityPub::VoteSerializer::NoteSerializer
def id
[ActivityPub::TagManager.instance.uri_for(object.account), '#votes/', object.id, '/activity'].join
end
def type
'Create'
end
def actor
ActivityPub::TagManager.instance.uri_for(object.account)
end
def to
ActivityPub::TagManager.instance.uri_for(object.poll.account)
end
end
|