33 lines
726 B
Ruby
33 lines
726 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
|
||
|
end
|
||
|
end
|
||
|
end
|