Sha256: 4c4e143373f2fc1d0f1b3f811ca065d1c2323af6e540a041b00796cdb9c9b288
Contents?: true
Size: 1.3 KB
Versions: 4
Compression:
Stored size: 1.3 KB
Contents
require 'thor' module Termup TERMUP_DIR = File.join(ENV['HOME'],'.config','termup') class Cli < Thor include Thor::Actions class << self def source_root File.expand_path('../../',__FILE__) end end map "c" => :create map "e" => :edit map "l" => :list map "s" => :start desc "create PROJECT", "Create termup project (Shortcut: c)" def create(project) empty_directory TERMUP_DIR template "templates/template.yml", path(project) end desc "edit PROJECT", "Edit termup project (Shortcut: e)" def edit(project) create(project) unless File.exists?(path(project)) say "please set $EDITOR in your .bash_profile." and return unless editor = ENV['EDITOR'] system("#{editor} #{path(project)}") end desc "list", "List termup projects (Shortcut: l)" def list projects = Dir["#{TERMUP_DIR}/*.yml"].map{|file| File.basename(file,'.yml') } say "Your projects: #{projects.join(', ')}" end desc "start PROJECT", "Start termup project (Shortcut: s)" def start(project) say "project \"#{project}\" doesn't exist!" and return unless File.exists?(path(project)) Termup::Base.new(project) end protected def path(project) "#{TERMUP_DIR}/#{project}.yml" end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
termup-1.3.0 | lib/termup/cli.rb |
termup-1.2.2 | lib/termup/cli.rb |
termup-1.2.1 | lib/termup/cli.rb |
termup-1.2.0 | lib/termup/cli.rb |