我使用GLI 2.0 gem为所有漂亮的命令行结构创建了自己的 gem。它工作正常,但我也想支持输入的数据。
my_prog new some_file # this is ok already
some_process | my_prog # how do I add this?
在某个地方我需要检查它是如何被调用的(不知何故),然后采取适当的行动。我已经简化了一点,但我当前的代码如下。
require 'rubygems'
require 'gli'
include GLI::App
desc 'My example'
command :new do |c|
desc 'Specify input file'
arg_name 'filename'
c.flag [:i,:input]
c.action do |global_options,options,args|
exit_now!("Input file must be specified") if options[:o].nil?
exit_now!("New failed") unless File.exists?(options[:o])
end
end
exit run(ARGV)