Class: Api::SharedProjectSerializer

Inherits:
Panko::Serializer
  • Object
show all
Defined in:
app/serializers/api/shared_project_serializer.rb

Constant Summary collapse

@@helper =
Api::SerializerHelper.new

Instance Method Summary collapse

Instance Method Details

#affiliated_spacesObject



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'app/serializers/api/shared_project_serializer.rb', line 72

def affiliated_spaces
  if !context[:space_id].nil?
    ::Affiliation
      .where(affiliate_id: object.id)
      .where(parent_id: context[:space_id])
      .select(:parent_type,
              :parent_id,
              :status,
              :id)
      .as_json
  else
    ::Affiliation
      .where(affiliate_id: object.id)
      .select(:parent_type,
              :parent_id,
              :status,
              :id)
      .as_json
  end
end

#challengesObject



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'app/serializers/api/shared_project_serializer.rb', line 50

def challenges
  if !context[:challenge_id].nil?
    ChallengesProject
      .where(project_id: object.id)
      .where(challenge_id: context[:challenge_id])
      .select(:challenge_id, :project_status)
      .as_json({ except: :id })
  elsif !context[:program_id].nil?
    ChallengesProject
      .joins(:challenge)
      .where(project_id: object.id)
      .where('challenges.program_id = ?', context[:program_id])
      .select(:challenge_id, :project_status)
      .as_json({ except: :id })
  else
    ChallengesProject
      .where(project_id: object.id)
      .select(:challenge_id, :project_status)
      .as_json({ except: :id })
  end
end

#creatorObject



93
94
95
# File 'app/serializers/api/shared_project_serializer.rb', line 93

def creator
  @@helper.creator(object)
end

#documentsObject



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

def documents
  @@helper.documents(object)
end

#geolocObject



97
98
99
# File 'app/serializers/api/shared_project_serializer.rb', line 97

def geoloc
  @@helper.geoloc(object)
end

#has_followedObject



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

def has_followed
  @@helper.context = context
  @@helper.has_followed(object)
end

#has_savedObject



106
107
108
109
# File 'app/serializers/api/shared_project_serializer.rb', line 106

def has_saved
  @@helper.context = context
  @@helper.has_saved(object)
end

#interestsObject



111
112
113
# File 'app/serializers/api/shared_project_serializer.rb', line 111

def interests
  @@helper.interests(object)
end

#is_adminObject



115
116
117
# File 'app/serializers/api/shared_project_serializer.rb', line 115

def is_admin
  @@helper.is_admin(object)
end

#is_memberObject



119
120
121
# File 'app/serializers/api/shared_project_serializer.rb', line 119

def is_member
  @@helper.is_member(object)
end

#is_ownerObject



123
124
125
# File 'app/serializers/api/shared_project_serializer.rb', line 123

def is_owner
  @@helper.is_owner(object)
end

#is_reviewerObject



127
128
129
# File 'app/serializers/api/shared_project_serializer.rb', line 127

def is_reviewer
  @@helper.is_reviewer(object)
end

#members_countObject



131
132
133
# File 'app/serializers/api/shared_project_serializer.rb', line 131

def members_count
  object.members_count
end

#skillsObject



135
136
137
# File 'app/serializers/api/shared_project_serializer.rb', line 135

def skills
  @@helper.skills(object)
end