Class: Api::ChallengeSerializer

Inherits:
ActiveModel::Serializer
  • Object
show all
Includes:
RelationsSerializerHelper, RolesSerializerHelper, UsersSerializerHelper, UtilsSerializerHelper
Defined in:
app/serializers/api/challenge_serializer.rb

Instance Method Summary collapse

Methods included from UtilsSerializerHelper

#badges, #documents, #documents_feed, #feed_id, #geoloc, #get_feed_attachments, #interests, #ressources, #scope?, #skills

Methods included from UsersSerializerHelper

#creator, #get_user_json, #members, #reviewers, #users

Methods included from RolesSerializerHelper

#is_admin, #is_member, #is_owner, #is_pending, #is_reviewer

Methods included from RelationsSerializerHelper

#has_clapped, #has_followed, #has_saved

Instance Method Details

#controller?Boolean

Returns:

  • (Boolean)


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

def controller?
  @instance_options[:controller]
end

#is_member_of_spaceObject



101
102
103
# File 'app/serializers/api/challenge_serializer.rb', line 101

def is_member_of_space
  current_user&.has_role?(:member, object.space)
end

#programObject



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'app/serializers/api/challenge_serializer.rb', line 67

def program
  @program = object.program
  if @program.nil?
    {
      id: -1
    }
  else
    {
      id: @program.id,
      title: @program.title,
      title_fr: @program.title_fr,
      short_title: @program.short_title,
      custom_challenge_name: @program.custom_challenge_name
    }
  end
end

#show_objects?Boolean

Returns:

  • (Boolean)


105
106
107
# File 'app/serializers/api/challenge_serializer.rb', line 105

def show_objects?
  @instance_options[:show_objects]
end

#spaceObject



84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# File 'app/serializers/api/challenge_serializer.rb', line 84

def space
  @space = object.space
  if @space.nil?
    {
      id: -1
    }
  else
    {
      id: @space.id,
      title: @space.title,
      title_fr: @space.title_fr,
      short_title: @space.short_title,
      custom_challenge_name: @space.custom_challenge_name
    }
  end
end