简单的命令行 Ruby 应用程序

simple command line Ruby application

我被要求开发一个简单的命令行 Ruby 应用程序,它使用指定的搜索查询从外部 API 检索结果。我已经创建了一个脚本来执行此操作,并使用 #!/usr/bin/env ruby 使其可执行。我的脚本名称是 sampleapp.rb。所以我可以从控制台 运行 它作为

$> ./sampleapp some_argument

那是我在文件目录里面的时候。

在给我的示例中,script/app 应该 运行 像这样:

$> sampleapp some_argument

我做了很多研究,但找不到实现这一目标的方法。请在这里指导我。

另外,我怎样才能使这个 sampleapp 全局化以便可以从任何地方调用它。

更新:

sampleapp.rb

require 'net/https'
require 'openssl'
require 'json'
require 'uri'
require 'cgi'

module Someapp

  class SampleApp

    def search(query ="")
     ...some code here ...
    end

  if ARGV.size == 0 || ARGV[0].strip == ""
    puts "Please provide search query as an argument"
  else
    query = ARGV[0].strip
    SampleApp.new.search(query)
  end
end

如果此脚本不依赖于任何第 3 方库(不太可能)并且可以在系统 ruby 上顺利运行,最简单的方法是将其复制到 /usr/local/bin 文件夹:

sudo cp ./sampleapp /usr/local/bin/

如果它依赖于其他库,首选方法是从中构建一个 gem,然后使用系统 ruby 安装它。关于如何制作gemthe canonical one is likely this.

的教程有很多