34 lines
750 B
Ruby
34 lines
750 B
Ruby
module Mobile
|
|
module Entities
|
|
class Member < Grape::Entity
|
|
include ApplicationHelper
|
|
include ApiHelper
|
|
def self.member_expose(f)
|
|
expose f do |u,opt|
|
|
if u.is_a?(Hash) && u.key?(f)
|
|
u[f]
|
|
elsif u.is_a?(::Member)
|
|
if u.respond_to?(f)
|
|
u.send(f)
|
|
else
|
|
case f
|
|
when :student_id
|
|
u.user.user_extensions.student_id
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|
|
end
|
|
|
|
expose :user, using: Mobile::Entities::User do |c, opt|
|
|
if c.is_a?(::Member)
|
|
c.user
|
|
end
|
|
end
|
|
member_expose :student_id
|
|
member_expose :score
|
|
member_expose :id
|
|
end
|
|
end
|
|
end |