Class: BasicGroupSerializer

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

Direct Known Subclasses

GroupShowSerializer, WebHookGroupSerializer

Instance Method Summary collapse

Methods inherited from ApplicationSerializer

expire_cache_fragment!, fragment_cache

Methods inherited from ActiveModel::Serializer

#include!

Instance Method Details

#bio_cookedObject



47
48
49
50
51
52
53
# File 'app/serializers/basic_group_serializer.rb', line 47

def bio_cooked
  if object.automatic
    return I18n.t("groups.default_descriptions.#{Group::AUTO_GROUP_IDS[object.id]}")
  end

  object.bio_cooked
end

#bio_excerptObject



55
56
57
# File 'app/serializers/basic_group_serializer.rb', line 55

def bio_excerpt
  PrettyText.excerpt(bio_cooked, 200, keep_emoji_images: true) if bio_cooked.present?
end

#can_admin_groupObject



91
92
93
# File 'app/serializers/basic_group_serializer.rb', line 91

def can_admin_group
  scope.can_admin_group?(object)
end

#can_edit_groupObject



83
84
85
# File 'app/serializers/basic_group_serializer.rb', line 83

def can_edit_group
  scope.can_edit_group?(object)
end

#can_see_membersObject



103
104
105
# File 'app/serializers/basic_group_serializer.rb', line 103

def can_see_members
  scope.can_see_group_members?(object)
end

#display_nameObject



41
42
43
44
45
# File 'app/serializers/basic_group_serializer.rb', line 41

def display_name
  if auto_group_name = Group::AUTO_GROUP_IDS[object.id]
    I18n.t("groups.default_names.#{auto_group_name}")
  end
end

#include_bio_raw?Boolean

Returns:

  • (Boolean)


67
68
69
# File 'app/serializers/basic_group_serializer.rb', line 67

def include_bio_raw?
  staff? || (include_is_group_owner? && is_group_owner)
end

#include_can_admin_group?Boolean

Returns:

  • (Boolean)


95
96
97
# File 'app/serializers/basic_group_serializer.rb', line 95

def include_can_admin_group?
  scope.can_admin_group?(object)
end

#include_can_edit_group?Boolean

Returns:

  • (Boolean)


87
88
89
# File 'app/serializers/basic_group_serializer.rb', line 87

def include_can_edit_group?
  scope.can_edit_group?(object)
end

#include_display_name?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'app/serializers/basic_group_serializer.rb', line 37

def include_display_name?
  object.automatic
end

#include_has_messages?Boolean

Returns:

  • (Boolean)


63
64
65
# File 'app/serializers/basic_group_serializer.rb', line 63

def include_has_messages?
  staff? || scope.can_see_group_messages?(object)
end

#include_incoming_email?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'app/serializers/basic_group_serializer.rb', line 59

def include_incoming_email?
  staff?
end

#include_is_group_owner?Boolean

Returns:

  • (Boolean)


79
80
81
# File 'app/serializers/basic_group_serializer.rb', line 79

def include_is_group_owner?
  owner_group_ids.present?
end

#include_is_group_user?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'app/serializers/basic_group_serializer.rb', line 71

def include_is_group_user?
  user_group_ids.present?
end

#is_group_ownerObject



99
100
101
# File 'app/serializers/basic_group_serializer.rb', line 99

def is_group_owner
  owner_group_ids.include?(object.id)
end

#is_group_userObject



75
76
77
# File 'app/serializers/basic_group_serializer.rb', line 75

def is_group_user
  user_group_ids.include?(object.id)
end