| 
									
										
										
										
											2017-10-07 17:43:42 +02:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-27 15:55:23 +01:00
										 |  |  | class ActivityPub::ImageSerializer < ActivityPub::Serializer | 
					
						
							| 
									
										
										
										
											2017-10-07 17:43:42 +02:00
										 |  |  |   include RoutingHelper | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-27 15:55:23 +01:00
										 |  |  |   context_extensions :focal_point | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-07 17:43:42 +02:00
										 |  |  |   attributes :type, :media_type, :url | 
					
						
							| 
									
										
										
										
											2018-02-22 00:35:46 +01:00
										 |  |  |   attribute :focal_point, if: :focal_point? | 
					
						
							| 
									
										
										
										
											2017-10-07 17:43:42 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def type | 
					
						
							|  |  |  |     'Image' | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def url | 
					
						
							|  |  |  |     full_asset_url(object.url(:original)) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def media_type | 
					
						
							|  |  |  |     object.content_type | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2018-02-22 00:35:46 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |   def focal_point? | 
					
						
							| 
									
										
										
										
											2018-02-22 17:42:33 +01:00
										 |  |  |     object.respond_to?(:meta) && object.meta.is_a?(Hash) && object.meta['focus'].is_a?(Hash) | 
					
						
							| 
									
										
										
										
											2018-02-22 00:35:46 +01:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def focal_point | 
					
						
							|  |  |  |     [object.meta['focus']['x'], object.meta['focus']['y']] | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2017-10-07 17:43:42 +02:00
										 |  |  | end |