# frozen_string_literal: true
class OEmbedSerializer < ActiveModel::Serializer
include RoutingHelper
include ActionView::Helpers::TagHelper
attributes :type, :version, :title, :author_name,
:author_url, :provider_name, :provider_url,
:cache_age, :html, :width, :height
def type
'rich'
end
def version
'1.0'
def author_name
object.account.display_name.presence || object.account.username
def author_url
short_account_url(object.account)
def provider_name
Rails.configuration.x.local_domain
def provider_url
root_url
def cache_age
86_400
def html
attributes = {
src: embed_short_account_status_url(object.account, object),
class: 'mastodon-embed',
style: 'max-width: 100%; border: none;',
width: width,
height: height,
}
content_tag :iframe, nil, attributes
def width
instance_options[:width]
def height
instance_options[:height]