Class: NotificationSerializer

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

Instance Method Summary collapse

Methods inherited from ApplicationSerializer

expire_cache_fragment!, fragment_cache

Methods inherited from ActiveModel::Serializer

#include!

Instance Method Details

#dataObject



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

def data
  object.data_hash
end

#external_idObject



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

def external_id
  object.user&.single_sign_on_record&.external_id
end

#fancy_titleObject



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

def fancy_title
  object.topic.fancy_title
end

#include_external_id?Boolean

Returns:

  • (Boolean)


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

def include_external_id?
  SiteSetting.enable_discourse_connect
end

#include_fancy_title?Boolean

Returns:

  • (Boolean)


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

def include_fancy_title?
  object.topic&.fancy_title
end

#include_is_warning?Boolean

Returns:

  • (Boolean)


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

def include_is_warning?
  is_warning
end

#is_warningObject



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

def is_warning
  object.topic.present? && object.topic.subtype == TopicSubtype.moderator_warning
end

#slugObject



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

def slug
  Slug.for(object.topic.title) if object.topic.present?
end