Class: DirectoryItemSerializer::UserSerializer
- Inherits:
-
UserNameSerializer
- Object
- ActiveModel::Serializer
- ApplicationSerializer
- BasicUserSerializer
- UserNameSerializer
- DirectoryItemSerializer::UserSerializer
- Includes:
- UserPrimaryGroupMixin
- Defined in:
- app/serializers/directory_item_serializer.rb
Instance Method Summary collapse
Methods included from UserPrimaryGroupMixin
#admin, #flair_bg_color, #flair_color, #flair_group_id, #flair_name, #flair_url, #include_admin?, #include_flair_bg_color?, #include_flair_color?, #include_flair_group_id?, #include_flair_name?, #include_flair_url?, #include_moderator?, #include_primary_group_name?, included, #moderator, #primary_group_name
Methods inherited from BasicUserSerializer
#avatar_template, #categories_with_notification_level, #category_user_notification_levels, #include_name?, #name, #user, #user_is_current_user
Methods included from UserStatusMixin
#include_status?, included, #status
Methods inherited from ApplicationSerializer
expire_cache_fragment!, fragment_cache
Methods inherited from ActiveModel::Serializer
Instance Method Details
#include_user_fields? ⇒ Boolean
35 36 37 |
# File 'app/serializers/directory_item_serializer.rb', line 35 def include_user_fields? @options[:user_custom_field_map].present? end |
#user_fields ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/serializers/directory_item_serializer.rb', line 9 def user_fields fields = {} user_custom_field_map = @options[:user_custom_field_map] || {} searchable_fields = @options[:searchable_fields] || [] object.user_custom_fields.each do |custom_field| user_field_id = user_custom_field_map[custom_field.name] next unless user_field_id current_value = fields.dig(user_field_id, :value) current_value = Array(current_value) if current_value new_value = current_value ? current_value << custom_field.value : custom_field.value is_searchable = searchable_fields.any? { |field| field.id == user_field_id } fields[user_field_id] = { value: new_value.is_a?(Array) ? new_value : [new_value], searchable: is_searchable, } end fields end |