blob: b02e8ca9344e95abed0e3b8326a8116b46afebe6 (
plain) (
blame)
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
|
# frozen_string_literal: true
class REST::PollSerializer < ActiveModel::Serializer
attributes :id, :expires_at, :expired,
:multiple, :votes_count
has_many :dynamic_options, key: :options
attribute :voted, if: :current_user?
def id
object.id.to_s
end
def dynamic_options
if !object.expired? && object.hide_totals?
object.unloaded_options
else
object.loaded_options
end
end
def expired
object.expired?
end
def voted
object.votes.where(account: current_user.account).exists?
end
def current_user?
!current_user.nil?
end
class OptionSerializer < ActiveModel::Serializer
attributes :title, :votes_count
end
end
|