Skip to content
Snippets Groups Projects
learning_object_serializer.rb 1.33 KiB
Newer Older
class LearningObjectSerializer < ActiveModel::Serializer
  cache key: 'learning_object', expires_in: 4.hours, except: [:likes_count, :liked]
  def default_location
    object_type == ("Vídeo" || "Áudio") ? object.default_attachment.try(:retrieve_cache_link) : object.default_attachment.try(:retrieve_url)
  end

  def default_mime_type
    object.default_attachment.try(:mime_type)
  end

  def default_attachment_id
    object.default_attachment.try(:id)
  def thumbnail
    object.default_thumbnail
  end

  def object_type
    object.object_type.try(:name)
  end

    object.liked? current_user
  end

  def reviewed?
    object.reviewed? current_user
  end

  attributes :id,
             :name,
             :description,
             :author,
             :thumbnail,
             :publisher,
             :object_type,
             :language,
             :default_attachment_id,
             :default_location,
             :default_mime_type,
             :score,
             :review_average,
             :reviewed?,
             :shares_count,
             :created_at,
             :updated_at
  has_many :tags
  has_many :subjects
  has_many :educational_stages
  has_many :attachments