class Daigaku::Views::CoursesMenu
Private Instance Methods
header_text()
click to toggle source
# File lib/daigaku/views/courses_menu.rb, line 8 def header_text 'Available daigaku courses:' end
interact_with(window)
click to toggle source
# File lib/daigaku/views/courses_menu.rb, line 12 def interact_with(window) while char = window.getch case char when KEY_UP @position -= 1 broadcast(:reset_menu_position) when KEY_DOWN @position += 1 broadcast(:reset_menu_position) when 10 # Enter broadcast(:enter, models[@position]) return when 27 # ESC exit end @position = items.length - 1 if @position < 0 @position = 0 if @position >= items.length draw(window, @position) end end
items()
click to toggle source
# File lib/daigaku/views/courses_menu.rb, line 38 def items non_empty_courses = models.select { |course| !course.chapters.empty? } non_empty_courses.map do |course| line = course.title self.items_info <<= [(course.author ? "(by #{course.author})" : '')] line end end
models()
click to toggle source
# File lib/daigaku/views/courses_menu.rb, line 34 def models Loading::Courses.load(Daigaku.config.courses_path) end