class Alis::Cmd

Attributes

aliases[RW]

Public Class Methods

get(name) click to toggle source
# File lib/alis/cmd.rb, line 7
def get(name)
  Alis.store.get_cmd(name)
end
get_or_create(name) click to toggle source
# File lib/alis/cmd.rb, line 11
def get_or_create(name)
  cmd = get(name) || Cmd.new(name)
  cmd.create_bin! unless cmd.has_bin?
  cmd
end
new(name) click to toggle source
# File lib/alis/cmd.rb, line 19
def initialize(name)
  @name = name.strip
  @store = Alis.store
  @aliases = []
end

Public Instance Methods

add_alias(params, exe, tail) click to toggle source
# File lib/alis/cmd.rb, line 45
def add_alias(params, exe, tail)
  @store.set_alias(@name, params, exe, tail)
end
bin_path() click to toggle source
# File lib/alis/cmd.rb, line 36
def bin_path
  File.join(Alis.bin_dir, @name)
end
create_bin!() click to toggle source
# File lib/alis/cmd.rb, line 29
def create_bin!
  FileUtils.mkdir_p(Alis.bin_dir) unless Dir.exists?(Alis.bin_dir)

  FileUtils.cp(Alis.tpl_path, bin_path)
  FileUtils.chmod 0755, bin_path
end
has_bin?() click to toggle source
# File lib/alis/cmd.rb, line 25
def has_bin?
  FileTest.executable?(bin_path)
end
remove() click to toggle source
# File lib/alis/cmd.rb, line 40
def remove
  @store.remove_cmd(@name)
  FileUtils.rm(bin_path) if has_bin?
end
remove_alias(params) click to toggle source
# File lib/alis/cmd.rb, line 49
def remove_alias(params)
  if @aliases.size == 1 && @aliases[0] && @aliases[0].params == params
    remove
  else
    @store.remove_alias(@name, params)
  end
end