Class: CourseData
- Inherits:
-
Object
- Object
- CourseData
- Includes:
- Helpers
- Defined in:
- lib/jakdlugo/course_data.rb
Constant Summary
Constants included from Helpers
Helpers::ASSESSMENTS, Helpers::JS_TRACK, Helpers::RB_TRACK
Instance Method Summary collapse
- #course_summary(course) ⇒ Object
-
#initialize ⇒ CourseData
constructor
A new instance of CourseData.
- #progress_summary(track, course) ⇒ Object
- #track_summary(track) ⇒ Object
Methods included from Helpers
#display_bad_course_error, #format_track, #has_assessment?, #include_assessment, #valid_course?, #valid_track?
Constructor Details
#initialize ⇒ CourseData
Returns a new instance of CourseData.
7 8 9 10 |
# File 'lib/jakdlugo/course_data.rb', line 7 def initialize @connection = db_connection setup_db end |
Instance Method Details
#course_summary(course) ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/jakdlugo/course_data.rb', line 12 def course_summary(course) return unless valid_course?(course) course = ASSESSMENTS.key(course) if ASSESSMENTS.values.include?(course) hours_arr = course_info(course) display_course_summary(course, hours_arr) end |
#progress_summary(track, course) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/jakdlugo/course_data.rb', line 27 def progress_summary(track, course) return unless valid_track?(track) && valid_course?(course) hash = track_info(track).map { |course, _, percent| [course, percent] }.to_h course = ASSESSMENTS.key(course) if ASSESSMENTS.values.include?(course) you_are_here = hash.keys.index(course) return display_bad_course_error unless you_are_here percent = hash.values[0..you_are_here].reduce(:+).round display_progress_summary(course, percent) end |
#track_summary(track) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/jakdlugo/course_data.rb', line 20 def track_summary(track) return unless valid_track?(track) courses_and_hours = track_info(track) display_track_summary(courses_and_hours) end |