Sha256: fffad4a367b401be62274d097c0be5017efe1359425e15b639b83974cce81181
Contents?: true
Size: 874 Bytes
Versions: 2
Compression:
Stored size: 874 Bytes
Contents
require_relative 'make_menu/color_string' require_relative 'make_menu/menu' require 'tty-screen' module MakeMenu String.include MakeMenu::ColorString def self.run # Allows CTRL+C to return to the menu instead of exiting the script trap('SIGINT') { throw StandardError } makefile = ENV.fetch('MAKEFILE', './Makefile') if (menu_name = ENV.fetch('MENU', nil)) require "./#{menu_name.downcase}_menu.rb" Object.const_get("#{menu_name.capitalize}Menu").new(makefile).run else MakeMenu::Menu.new(makefile).run end rescue LoadError, NameError => _e puts puts 'No customisation class found!'.red.bold puts puts 'Expected file:' puts " ./#{menu_name.downcase}_menu.rb".cyan puts puts 'To define class:' puts " #{menu_name.capitalize}Menu < MakeMenu::Menu".yellow puts exit 1 end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
make_menu-0.1.1 | lib/make_menu.rb |
make_menu-0.1.0 | lib/make_menu.rb |