Skip to content
Snippets Groups Projects
learning_object_serializer.rb 1.06 KiB
Newer Older
class LearningObjectSerializer < ActiveModel::Serializer
  cache key: 'learning_object', expires_in: 4.hours, except: [:likes_count, :liked, :reviewed, :complained]
  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

  def complained
    object.complained? current_user
bfs15's avatar
bfs15 committed
  attributes \
    :id,
    :name,
    :description,
    :author,
    :thumbnail,
    :object_type,
    :language,
    :default_attachment_id,
    :default_mime_type,
    :score,
    :state,
    :review_average,
    :link,
    :software,
    :license,
    :liked,
    :likes_count,
    :reviewed,
    :complained,
    :shares_count,
    :created_at,
    :updated_at

  belongs_to :publisher
  has_many :tags
  has_many :subjects
  has_many :educational_stages
  has_many :attachments