用gem传递可执行文件

时间:2017-04-28 14:27:53

标签: ruby rubygems

我正在尝试使用我的ruby gem提供一个exec文件,但我不确定该怎么做。

我有一个名为pfparser的ruby脚本,如:

#!/usr/bin/env ruby
ENV['path'] = ARGV[0]
require 'pfparser'

在我的pfparser.rb文件中我想接受参数但它似乎没有通过。该参数应该是pfparser.rb文件应该解析并返回输出的文件路径。我觉得我没有正确地做到这一点,但我不知道如何去做。

这感觉有点矫枉过正,我想提供一个用户可以用参数执行的文件。

1 个答案:

答案 0 :(得分:1)

我假设pfparser.rb包含一个类定义,它处理所有的东西。所以我会选择类似的东西:

<强> LIB / pfparser.rb

class PfParser
  def initialize path
    @path = path
  end

  def do_job
    # change to real stuff
    puts "Hi, path is: #{@path}"
  end
end

<强>仓/ pfparser

#!/usr/bin/env ruby
require 'pfparser'
PfParser.new(ARGV[0]).do_job

现在:

$ bin/pfparser PATH
#⇒ Hi, path is: PATH