我对红宝石以及宝石制作极其新颖。我做了一个简单的宝石,根据输入信息对一些信息进行网络扫描。 但是,要使用我的宝石,我需要进入解释器(irb)并需要我的宝石,然后用一些参数调用该方法。制作红宝石宝石响应终端命令
假设该宝石被称为foo
。 假设该方法被称为print_website(x) # where x is a string
。
我希望能够做一些事情,如:
$ foo test.com
,它会自动调用该方法并执行它。
在此先感谢!如果我不清楚,请问我澄清! :d
我对红宝石以及宝石制作极其新颖。我做了一个简单的宝石,根据输入信息对一些信息进行网络扫描。 但是,要使用我的宝石,我需要进入解释器(irb)并需要我的宝石,然后用一些参数调用该方法。制作红宝石宝石响应终端命令
假设该宝石被称为foo
。 假设该方法被称为print_website(x) # where x is a string
。
我希望能够做一些事情,如:
$ foo test.com
,它会自动调用该方法并执行它。
在此先感谢!如果我不清楚,请问我澄清! :d
试试吧
$ mkdir bin
$ touch bin/foo
$ chmod a+x bin/foo
编辑斌/富
#!/usr/bin/env ruby
require 'foo'
#Anything you want.......
添加下列的Gemfile
s.executables << 'foo'
推宝石。现在你已经发布命令行工具
嗨!我仍然对我在哪里必须实际调用该方法以及如何为其提供ARGV [0]和ARGV [1]感到困惑。谢谢! – VarunMurali 2012-07-20 06:02:29
检查它:https://gist.github.com/3149034 – 2012-07-20 06:24:51
这真是太棒了谢谢!但还有一件事,我会在哪里添加依赖?我需要'nokogiri'来运行它,它说有一个加载错误,它不能加载nokogiri。我应该在哪里输入require nokogiri line?到目前为止,它在方法文件中。谢谢! – VarunMurali 2012-07-20 06:41:08
简单,只需在创建你的宝石时运行bundle gem mygem -b
。
首先你需要执行require('foo'),然后你可以尝试foo test.com。如果可能工作。 – Shreedhar 2012-07-19 06:49:47