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