class Torba::Cli
Public Instance Methods
open(name)
click to toggle source
# File lib/torba/cli.rb, line 29 def open(name) editor = [ENV["TORBA_EDITOR"], ENV["VISUAL"], ENV["EDITOR"]].find { |e| !e.nil? && !e.empty? } unless editor Torba.ui.error("To open a package, set $EDITOR or $TORBA_EDITOR") exit(false) end Torba.pretty_errors do Torba.pack command = Shellwords.split(editor) << find_package(name).load_path system(*command) || Torba.ui.error("Could not run '#{command.join(" ")}'") end end
pack()
click to toggle source
# File lib/torba/cli.rb, line 8 def pack Torba.pretty_errors { Torba.pack } Torba.ui.confirm "Torba has been packed!" end
show(name)
click to toggle source
# File lib/torba/cli.rb, line 21 def show(name) Torba.pretty_errors do Torba.pack Torba.ui.info(find_package(name).load_path) end end
verify()
click to toggle source
# File lib/torba/cli.rb, line 15 def verify Torba.pretty_errors { Torba.verify } Torba.ui.confirm "Torba is prepared!" end
Private Instance Methods
find_package(name)
click to toggle source
# File lib/torba/cli.rb, line 46 def find_package(name) packages = Torba.find_packages_by_name(name) case packages.size when 0 Torba.ui.error "Could not find package '#{name}'." exit(false) when 1 packages.first else index = Torba.ui.choose_one(packages.map(&:name)) if index packages[index] else exit(false) end end end