Class: TopicListSerializer

Inherits:
ApplicationSerializer show all
Defined in:
app/serializers/topic_list_serializer.rb

Instance Method Summary collapse

Methods inherited from ApplicationSerializer

expire_cache_fragment!, fragment_cache

Methods inherited from ActiveModel::Serializer

#include!

Constructor Details

#initialize(object, options = {}) ⇒ TopicListSerializer

Returns a new instance of TopicListSerializer.



17
18
19
20
# File 'app/serializers/topic_list_serializer.rb', line 17

def initialize(object, options = {})
  super
  options[:filter] = object.filter
end

Instance Method Details

#can_create_topicObject



22
23
24
# File 'app/serializers/topic_list_serializer.rb', line 22

def can_create_topic
  scope.can_create?(Topic)
end

#include_categories?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'app/serializers/topic_list_serializer.rb', line 46

def include_categories?
  scope.can_lazy_load_categories?
end

#include_for_period?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'app/serializers/topic_list_serializer.rb', line 30

def include_for_period?
  for_period.present?
end

#include_more_topics_url?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'app/serializers/topic_list_serializer.rb', line 34

def include_more_topics_url?
  object.more_topics_url.present? && (object.topics.size == object.per_page)
end

#include_shared_drafts?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'app/serializers/topic_list_serializer.rb', line 26

def include_shared_drafts?
  object.shared_drafts.present?
end

#include_tags?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'app/serializers/topic_list_serializer.rb', line 42

def include_tags?
  SiteSetting.tagging_enabled && object.tags.present?
end

#include_top_tags?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'app/serializers/topic_list_serializer.rb', line 38

def include_top_tags?
  Tag.include_tags?
end