| 
									
										
										
										
											2019-03-03 22:18:23 +01:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class REST::PollSerializer < ActiveModel::Serializer | 
					
						
							|  |  |  |   attributes :id, :expires_at, :expired, | 
					
						
							|  |  |  |              :multiple, :votes_count | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-07 22:53:47 +01:00
										 |  |  |   has_many :loaded_options, key: :options | 
					
						
							| 
									
										
										
										
											2019-03-20 17:29:12 +01:00
										 |  |  |   has_many :emojis, serializer: REST::CustomEmojiSerializer | 
					
						
							| 
									
										
										
										
											2019-03-03 22:18:23 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   attribute :voted, if: :current_user? | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def id | 
					
						
							|  |  |  |     object.id.to_s | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def expired | 
					
						
							|  |  |  |     object.expired? | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def voted | 
					
						
							| 
									
										
										
										
											2019-03-07 22:53:47 +01:00
										 |  |  |     object.voted?(current_user.account) | 
					
						
							| 
									
										
										
										
											2019-03-03 22:18:23 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def current_user? | 
					
						
							|  |  |  |     !current_user.nil? | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   class OptionSerializer < ActiveModel::Serializer | 
					
						
							|  |  |  |     attributes :title, :votes_count | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |