asciinema.org/app/serializers/asciicast_serializer.rb
2016-04-15 10:15:02 +02:00

51 lines
833 B
Ruby

class AsciicastSerializer < ActiveModel::Serializer
self.root = false
attributes :id, :url, :snapshot, :width, :height
def id
object.to_param
end
def url
if v0_url?
object.stdout_frames_url
else
if url = object.data.url
if url.starts_with?("/")
asciicast_path(object, format: :json) # download URL for local carrierwave store
else
url # direct signed S3 URL (because XHR CORS redirect doesn't work under Safari)
end
end
end
end
def private?
object.private?
end
def title
object.title
end
def author_display_name
object.user.display_name
end
def author_url
object.user.url
end
def author_avatar_url
object.user.avatar_url(object.user)
end
private
def v0_url?
!!@options[:v0]
end
end