ProgressFilter
- Defined in:
- app/filters/progress_filter.rb
Instance Method Summary (collapse)
- - (Object) course_progress_card(enrollment, course = {})
- - (Object) get_statistics_data(enrollment, course)
- - (Object) quiz_lesson_grade(enrollment, lesson_id)
Instance Method Details
- (Object) course_progress_card(enrollment, course = {})
2 3 4 5 6 7 8 9 10 11 12 |
# File 'app/filters/progress_filter.rb', line 2 def course_progress_card(enrollment, course = {}) return enrollment['progress_card'] if enrollment['progress_card'].present? && course.blank? enrollment_id = enrollment['id'] course_id = course.fetch('id', nil) progress = CourseProgressCard.find_by_enrollment_and_course(enrollment_id, course_id) if enrollment_id return progress if progress.present? return build_progress_total(enrollment_id, course_id) end |
- (Object) get_statistics_data(enrollment, course)
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'app/filters/progress_filter.rb', line 23 def get_statistics_data(enrollment, course) completed = 0 grade = 0 enrollment['lessons_progresses'].each do |progress| if progress['completed'] == true && progress['grade'].present? completed = completed + 1 grade = grade + progress['grade'] end end if completed != 0 grade = grade / completed end { 'completed' => completed, 'grade' => grade } end |
- (Object) quiz_lesson_grade(enrollment, lesson_id)
14 15 16 17 18 19 20 21 |
# File 'app/filters/progress_filter.rb', line 14 def quiz_lesson_grade(enrollment, lesson_id) return 0 unless enrollment['lessons_progresses'] enrollment['lessons_progresses'].each do |progress| return progress['grade'] if progress['lesson_id'] == lesson_id && progress['completed'] == true end end |