socialforge/app/api/mobile/entities/user.rb

60 lines
1.6 KiB
Ruby
Raw Normal View History

2014-12-09 16:36:43 +08:00
module Mobile
module Entities
class User < Grape::Entity
2015-01-20 17:42:18 +08:00
include ApplicationHelper
include ApiHelper
def self.user_expose(f)
expose f do |u,opt|
if u.is_a?(Hash) && u.key?(f)
u[f]
2015-01-20 17:42:18 +08:00
elsif u.is_a?(::User)
if u.respond_to?(f)
2015-05-15 10:17:47 +08:00
u.send(f) unless u.user_extensions.nil?
2015-01-20 17:42:18 +08:00
else
case f
when :img_url
url_to_avatar(u)
when :gender
2015-04-15 10:52:10 +08:00
u.nil? || u.user_extensions.nil? || u.user_extensions.gender.nil? ? 0 : u.user_extensions.gender
2015-01-20 17:42:18 +08:00
when :work_unit
2015-05-15 10:17:47 +08:00
get_user_work_unit u unless u.user_extensions.nil?
2015-01-20 17:42:18 +08:00
when :location
2015-05-15 10:17:47 +08:00
get_user_location u unless u.user_extensions.nil?
2015-01-20 17:42:18 +08:00
when :brief_introduction
2015-04-15 10:52:10 +08:00
u.nil? || u.user_extensions.nil? ? "" : u.user_extensions.brief_introduction
when :student_num
u.nil? || u.user_extensions.nil? ? "" : u.user_extensions.student_id
2015-01-20 17:42:18 +08:00
end
end
end
end
end
expose :id
2014-12-09 16:36:43 +08:00
#头像
user_expose :img_url
2014-12-09 16:36:43 +08:00
#昵称
2014-12-09 16:57:08 +08:00
expose :nickname
2015-04-16 15:48:53 +08:00
#真名
expose :realname
2014-12-09 16:36:43 +08:00
#性别
user_expose :gender
2014-12-09 16:36:43 +08:00
#我的二维码
#工作单位
user_expose :work_unit
2014-12-09 16:36:43 +08:00
#邮箱地址
user_expose :mail
2014-12-09 16:36:43 +08:00
#地区
user_expose :location
2014-12-09 16:36:43 +08:00
#签名
user_expose :brief_introduction
#总成绩
user_expose :score
#学号
user_expose :student_num
2014-12-09 16:36:43 +08:00
end
end
end