Table name: courses
id :integer not null, primary key subject_id :integer name :string(255) number :string(255) description :text created_at :datetime updated_at :datetime university_id :integer mini_description :string(255)
Returns query condition for students who had not joined the courses.
# File app/models/course.rb, line 63 def self.not_joined_by_student(student, query) where(" name like ? AND id NOT IN ( SELECT course_id FROM courses_students WHERE student_id = ? ) ", "%#{query}%", student.id) end
Sets pagination per page.
# File app/models/course.rb, line 58 def self.paginate(options = {}) page(options[:page]).per(options[:per_page]) end
Returns alternate name for course(i.e. its subject name followed by its id).
# File app/models/course.rb, line 44 def alternate_name course_number = self.name.scan(/\d+\s/).first self.subject.name + (course_number.present? ? " #{course_number}" : "") end
Returns subject name of course.
# File app/models/course.rb, line 50 def subject_name self.subject.name end