Module: TopicTagsMixin
- Included in:
- SearchTopicListItemSerializer, SuggestedTopicSerializer, TopicListItemSerializer, TopicViewSerializer, UserPostTopicBookmarkBaseSerializer
- Defined in:
- app/serializers/concerns/topic_tags_mixin.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(klass) ⇒ Object
4 5 6 7 |
# File 'app/serializers/concerns/topic_tags_mixin.rb', line 4 def self.included(klass) klass.attributes :tags klass.attributes :tags_descriptions end |
Instance Method Details
#include_tags? ⇒ Boolean
9 10 11 |
# File 'app/serializers/concerns/topic_tags_mixin.rb', line 9 def scope.(topic) end |
#tags ⇒ Object
13 14 15 |
# File 'app/serializers/concerns/topic_tags_mixin.rb', line 13 def .map(&:name) end |
#tags_descriptions ⇒ Object
17 18 19 |
# File 'app/serializers/concerns/topic_tags_mixin.rb', line 17 def .each.with_object({}) { |tag, acc| acc[tag.name] = tag.description }.compact end |
#topic ⇒ Object
21 22 23 |
# File 'app/serializers/concerns/topic_tags_mixin.rb', line 21 def topic object.is_a?(Topic) ? object : object.topic end |