简单命令行Ruby应用程序

时间:2016-07-20 15:59:21

标签: ruby command-line ubuntu-14.04 executable

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

$> ./sampleapp some_argument

只有当我在文件目录中时才会这样。

在给我的例子中,脚本/ 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

1 个答案:

答案 0 :(得分:1)

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

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

如果它依赖于其他库,首选方法是从中构建gem,并使用系统ruby进行安装。有很多关于如何生成gemthe canonical one is likely this

的教程