module Mobile module Entities class Course < Grape::Entity include Redmine::I18n 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 f.is_a?(Hash) && f.key?(field) f[field] if f.is_a?(Hash) && f.key?(field) #f.img_url if f.respond_to?(:img_url) elsif field == :created_at || field == :updated_at (format_time(c[field]) if (c.is_a?(Hash) && c.key?(field))) || (format_time(c.send(field)) if c.respond_to?(field)) 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 :invite_code course_expose :qrcode course_expose :updated_at course_expose :course_student_num 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::Homework do |f, opt| f[:my_homework] if f.is_a?(Hash) && f.key?(:my_homework) end course_expose :current_user_is_member course_expose :current_user_is_teacher course_expose :work_unit end end end