在Ruby中构建CLI的最佳实践是什么?

在Ruby中构建CLI的最佳实践是什么?,ruby,command-line-interface,Ruby,Command Line Interface,我正在用Ruby构建CLI(称为示例),我想知道什么是最佳实践: 将CLI控制器放置在/lib/example/CLI.rb或/lib/example.rb中的新文件CLI.rb中更好吗 我使用case/when来管理ARGV的不同选项和参数 是否最好将其添加到/bin/example中的可执行文件中,或在可执行文件中调用example::CLI.new.call,然后在/lib/example/CLI.rb中的CLI.rb控制器中的调用方法中添加case/when case ARGV[0] w

我正在用Ruby构建CLI(称为示例),我想知道什么是最佳实践:

  • 将CLI控制器放置在
    /lib/example/CLI.rb
    /lib/example.rb
    中的新文件
    CLI.rb
    中更好吗
  • 我使用case/when来管理ARGV的不同选项和参数
  • 是否最好将其添加到
    /bin/example
    中的可执行文件中,或在可执行文件中调用
    example::CLI.new.call
    ,然后在
    /lib/example/CLI.rb
    中的
    CLI.rb
    控制器中的调用方法中添加case/when

    case ARGV[0]
    when '-today'
      raise NoCityError if ARGV[1].nil?
    
      eltiempo.today(ARGV[1])
    when '-av_min'
      raise NoCityError if ARGV[1].nil?
    
      eltiempo.av_min(ARGV[1])
    when '-av_max'
      raise NoCityError if ARGV[1].nil?
    
      eltiempo.av_max(ARGV[1])
    when '-h'
      eltiempo.help_menu
    end