mirror of
https://git.kescher.at/CatCatNya/catstodon.git
synced 2024-11-27 12:41:37 +01:00
054bbb3da2
* Immediately display poll results to poll author * Refactor Poll#loaded_options and add Poll#voted? to improve DRYness
30 lines
528 B
Ruby
30 lines
528 B
Ruby
# frozen_string_literal: true
|
|
|
|
class REST::PollSerializer < ActiveModel::Serializer
|
|
attributes :id, :expires_at, :expired,
|
|
:multiple, :votes_count
|
|
|
|
has_many :loaded_options, key: :options
|
|
|
|
attribute :voted, if: :current_user?
|
|
|
|
def id
|
|
object.id.to_s
|
|
end
|
|
|
|
def expired
|
|
object.expired?
|
|
end
|
|
|
|
def voted
|
|
object.voted?(current_user.account)
|
|
end
|
|
|
|
def current_user?
|
|
!current_user.nil?
|
|
end
|
|
|
|
class OptionSerializer < ActiveModel::Serializer
|
|
attributes :title, :votes_count
|
|
end
|
|
end
|