Class: BasicUserSerializer

Inherits:
ApplicationSerializer show all
Includes:
UserStatusMixin
Defined in:
app/serializers/basic_user_serializer.rb

Instance Method Summary collapse

Methods included from UserStatusMixin

#include_status?, included, #status

Methods inherited from ApplicationSerializer

expire_cache_fragment!, fragment_cache

Methods inherited from ActiveModel::Serializer

#include!

Instance Method Details

#avatar_templateObject



16
17
18
19
20
21
22
# File 'app/serializers/basic_user_serializer.rb', line 16

def avatar_template
  if Hash === object
    User.avatar_template(user[:username], user[:uploaded_avatar_id])
  else
    user&.avatar_template
  end
end

#categories_with_notification_level(lookup_level) ⇒ Object



32
33
34
35
36
# File 'app/serializers/basic_user_serializer.rb', line 32

def categories_with_notification_level(lookup_level)
  category_user_notification_levels
    .select { |id, level| level == CategoryUser.notification_levels[lookup_level] }
    .keys
end

#category_user_notification_levelsObject



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

def category_user_notification_levels
  @category_user_notification_levels ||= CategoryUser.notification_levels_for(user)
end

#include_name?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'app/serializers/basic_user_serializer.rb', line 12

def include_name?
  SiteSetting.enable_names?
end

#nameObject



8
9
10
# File 'app/serializers/basic_user_serializer.rb', line 8

def name
  Hash === user ? user[:name] : user.try(:name)
end

#userObject



24
25
26
# File 'app/serializers/basic_user_serializer.rb', line 24

def user
  object[:user] || object.try(:user) || object
end

#user_is_current_userObject



28
29
30
# File 'app/serializers/basic_user_serializer.rb', line 28

def user_is_current_user
  object.id == scope.user&.id
end