Class: Martlet::CLI
- Inherits:
-
Thor
- Object
- Thor
- Martlet::CLI
- Defined in:
- lib/martlet/cli.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.exit_on_failure? ⇒ Boolean
55 56 57 |
# File 'lib/martlet/cli.rb', line 55 def self.exit_on_failure? true end |
Instance Method Details
#courses(semester = nil, year = nil) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/martlet/cli.rb', line 29 def courses(semester = nil, year = nil) if semester.nil? || year.nil? semester, year = current_semester_and_year end puts 'Fetching courses...' schedule = client.schedule(semester, year) courses = schedule.fetch_courses course_name_size = courses.map { |c| c.name.length }.max puts "#{semester.capitalize} #{year} courses" courses.each do |course| course_row_format = "%-11s %-#{course_name_size}s @ %s\n" printf course_row_format, "#{course.number}", course.name, course.location end puts 'No courses found' if courses.empty? if [:export] && !courses.empty? filename = "#{semester}_#{year}.ics" puts "Exporting courses to #{filename}..." client.export_calendar(filename, courses) end end |
#grades ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/martlet/cli.rb', line 11 def grades puts 'Fetching grades...' grades = client.grades grades = case ['sort'] when 'course' then grades.sort_by { |k,v| k } when 'grade' then grades.sort_by { |k,v| Grade.new v } else grades end grades.each do |number, grade| puts "#{number}: #{grade}" end end |