Skip to content
Snippets Groups Projects
Select Git revision
  • 3cc79d85d99db86ba789aca5fc46ddcaab1a342d
  • develop default protected
  • issue/70-hotfix-error-collection-resource-deleted
  • issue-68/streak-high_streak-last_action_at
  • issue/65-govbr
  • issue/54-curator-queue
  • issue/58-testar-s3
  • master protected
  • pre-submission
  • pre-languages
  • video-cache
  • tag-clustering-task
  • pre-api
  • orientdb
14 results

learning_object_serializer.rb

Blame
  • Forked from PortalMEC / portalmec
    1100 commits behind the upstream repository.
    learning_object_serializer.rb 1.44 KiB
    class LearningObjectSerializer < ActiveModel::Serializer
      cache key: 'learning_object', expires_in: 4.hours, except: [:likes_count, :liked, :reviewed, :complained]
    
      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)
      end
    
      def thumbnail
        object.default_thumbnail
      end
    
      def object_type
        object.object_type.try(:name)
      end
    
      def liked
        object.liked? current_user
      end
    
      def reviewed
        object.reviewed? current_user
      end
    
      def complained
        object.complained? current_user
      end
    
      attributes :id,
                 :name,
                 :description,
                 :author,
                 :thumbnail,
                 :publisher,
                 :object_type,
                 :language,
                 :default_attachment_id,
                 :default_location,
                 :default_mime_type,
                 :score,
                 :state,
                 :review_average,
                 :link,
                 :software,
                 :license,
                 :liked,
                 :likes_count,
                 :reviewed,
                 :complained,
                 :shares_count,
                 :created_at,
                 :updated_at
    
      has_many :tags
      has_many :subjects
      has_many :educational_stages
      has_many :attachments
    end