Class: Lcms::Engine::ResourceSerializer

Inherits:
ActiveModel::Serializer
  • Object
show all
Includes:
ResourceHelper
Defined in:
app/serializers/lcms/engine/resource_serializer.rb

Overview

This is a subset of the previous ResourceSerializer, meant to be used on listings like find_lessons and search cards. We use this instead the full version (ResourceDetailsSerializer) to avoid expensive queries on data we don’t need (like downloads, and related)

Instance Method Summary collapse

Methods included from ResourceHelper

#back_to_resource_path, #bundle_heap_data, #copyrights_text, #download_heap_data, #download_per_category_limit, #prerequisites_standards, #resource_breadcrumbs_with_links, #show_resource_path, #type_name

Instance Method Details



16
17
18
# File 'app/serializers/lcms/engine/resource_serializer.rb', line 16

def breadcrumb_title
  Breadcrumbs.new(object).title
end

#gradeObject



20
21
22
# File 'app/serializers/lcms/engine/resource_serializer.rb', line 20

def grade
  object.grades.average
end

#is_assessmentObject

rubocop:disable Naming/PredicateName



24
25
26
# File 'app/serializers/lcms/engine/resource_serializer.rb', line 24

def is_assessment # rubocop:disable Naming/PredicateName
  object&.assessment? || short_title&.index('assessment').present?
end

#is_foundationalObject

rubocop:disable Naming/PredicateName



28
29
30
# File 'app/serializers/lcms/engine/resource_serializer.rb', line 28

def is_foundational # rubocop:disable Naming/PredicateName
  object.document&.foundational?
end

#is_oprObject

rubocop:disable Naming/PredicateName



32
33
34
# File 'app/serializers/lcms/engine/resource_serializer.rb', line 32

def is_opr # rubocop:disable Naming/PredicateName
  object.opr?
end

#is_prerequisiteObject

rubocop:disable Naming/PredicateName



36
37
38
# File 'app/serializers/lcms/engine/resource_serializer.rb', line 36

def is_prerequisite # rubocop:disable Naming/PredicateName
  object.prerequisite?
end

#pathObject



40
41
42
43
44
# File 'app/serializers/lcms/engine/resource_serializer.rb', line 40

def path
  return document_path(object.document) if object.document? && !object.assessment?

  show_resource_path(object)
end

#typeObject



46
47
48
# File 'app/serializers/lcms/engine/resource_serializer.rb', line 46

def type
  object.curriculum_type
end