|
|
- # 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
|