module Mobile module Entities class Course < Grape::Entity def self.course_expose(field) expose field do |f,opt| c = nil if f.is_a? ::Course c = f else c = f[:course] end if field == :img_url f[field] if f.is_a?(Hash) && f.key?(field) #f.img_url if f.respond_to?(:img_url) else (c[field] if (c.is_a?(Hash) && c.key?(field))) || (c.send(field) if c.respond_to?(field)) end end end course_expose :img_url course_expose :attachmenttype course_expose :class_period course_expose :code course_expose :created_at course_expose :description course_expose :endup_time course_expose :extra course_expose :id course_expose :inherit_members course_expose :is_public course_expose :lft course_expose :location course_expose :name course_expose :open_student # course_expose :password course_expose :rgt course_expose :school_id course_expose :setup_time course_expose :state course_expose :status course_expose :string course_expose :tea_id course_expose :term course_expose :time course_expose :updated_at expose :teacher, using: Mobile::Entities::User do |c, opt| if c.is_a? ::Course c.teacher else c[:course].teacher end end expose :my_homework,using: Mobile::Entities::HomeworkAttach do |f, opt| f[:my_homework] if f.is_a?(Hash) && f.key?(:my_homework) end end end end