module Mobile module Entities class ProjectMember < Grape::Entity include Redmine::I18n 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 :roles_id # u.roles[0].id u.roles.map {|r| r.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 :roles_id end end end