Sha256: 9681eda8d97516b4b48f1f04ec8b0973fcb6fbf2b5fecead5a6c089923cdbe8f
Contents?: true
Size: 1.09 KB
Versions: 4
Compression:
Stored size: 1.09 KB
Contents
require 'os' require_relative 'output' module Daigaku module Terminal class Solutions < Thor include Terminal::Output desc 'solutions open [COURSE NAME]', 'Open the solutions folder of a course in a GUI window' def open(course_name = '') path = File.join(Daigaku.config.solutions_path, course_name) unless Dir.exist?(path) text = [ "The course directory \"#{File.basename(path)}\" is not available in", "\"#{File.dirname(path)}\".\n", 'Hint:', 'Run "daigaku scaffold" to create empty solution files for all courses.' ] say_warning text.join("\n") unless Loading::Courses.load(Daigaku.config.courses_path).empty? Terminal::Courses.new.list end return end if OS.windows? system "explorer '#{path}'" elsif OS.mac? system "open '#{path}'" elsif OS.linux? system "xdg-open '#{path}'" end rescue ConfigurationError => e say_warning e.message end end end end
Version data entries
4 entries across 4 versions & 1 rubygems