Thor でのコマンド エイリアス
概要
Thor でコマンドのエイリアスを作成することはできますか?
Commander のコマンド エイリアスとよく似ています。 https://github.com/tj/commander#command-aliasing
オプションのエイリアスは見つかりますが、コマンド自体のエイリアスは見つかりません。
トールの例を使用すると、
#!/usr/bin/env ruby
require 'thor'
# cli.rb
class MyCLI < Thor
desc "hello NAME", "say hello to NAME"
def hello(name)
puts "Hello #{name}"
end
end
MyCLI.start(ARGV)
走れるはずだ
$ ./cli.rb hello John
Hello John
コマンド「hello」も「hi」にエイリアスしたいと思います。
解決策
これにはマップを使用できます。
http://www.rubydoc.info/github/wycats/thor/master/Thor#map-class_method
#!/usr/bin/env ruby
require 'thor'
# cli.rb
class MyCLI < Thor
desc "hello NAME", "say hello to NAME"
def hello(name)
puts "Hello #{name}"
end
map 'hi' => :hello
end
MyCLI.start(ARGV)