mirror of https://github.com/tootsuite/mastodon
				
				
				
			
		
			
				
	
	
		
			31 lines
		
	
	
		
			578 B
		
	
	
	
		
			Ruby
		
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			578 B
		
	
	
	
		
			Ruby
		
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| class ActivityPub::ImageSerializer < ActivityPub::Serializer
 | |
|   include RoutingHelper
 | |
| 
 | |
|   context_extensions :focal_point
 | |
| 
 | |
|   attributes :type, :media_type, :url
 | |
|   attribute :focal_point, if: :focal_point?
 | |
| 
 | |
|   def type
 | |
|     'Image'
 | |
|   end
 | |
| 
 | |
|   def url
 | |
|     full_asset_url(object.url(:original))
 | |
|   end
 | |
| 
 | |
|   def media_type
 | |
|     object.content_type
 | |
|   end
 | |
| 
 | |
|   def focal_point?
 | |
|     object.respond_to?(:meta) && object.meta.is_a?(Hash) && object.meta['focus'].is_a?(Hash)
 | |
|   end
 | |
| 
 | |
|   def focal_point
 | |
|     [object.meta['focus']['x'], object.meta['focus']['y']]
 | |
|   end
 | |
| end
 |