2012-07-19 100 views
5

我对红宝石以及宝石制作极其新颖。我做了一个简单的宝石,根据输入信息对一些信息进行网络扫描。 但是,要使用我的宝石,我需要进入解释器(irb)并需要我的宝石,然后用一些参数调用该方法。制作红宝石宝石响应终端命令

假设该宝石被称为foo。 假设该方法被称为print_website(x) # where x is a string

我希望能够做一些事情,如:

$ foo test.com 

,它会自动调用该方法并执行它。

在此先感谢!如果我不清楚,请问我澄清! :d

+0

首先你需要执行require('foo'),然后你可以尝试foo test.com。如果可能工作。 – Shreedhar 2012-07-19 06:49:47

回答

5

试试吧

$ mkdir bin 
$ touch bin/foo 
$ chmod a+x bin/foo 

编辑斌/富

#!/usr/bin/env ruby 

require 'foo' 
#Anything you want....... 

添加下列的Gemfile

s.executables << 'foo' 

推宝石。现在你已经发布命令行工具

+0

嗨!我仍然对我在哪里必须实际调用该方法以及如何为其提供ARGV [0]和ARGV [1]感到困惑。谢谢! – VarunMurali 2012-07-20 06:02:29

+0

检查它:https://gist.github.com/3149034 – 2012-07-20 06:24:51

+0

这真是太棒了谢谢!但还有一件事,我会在哪里添加依赖?我需要'nokogiri'来运行它,它说有一个加载错误,它不能加载nokogiri。我应该在哪里输入require nokogiri line?到目前为止,它在方法文件中。谢谢! – VarunMurali 2012-07-20 06:41:08

0

简单,只需在创建你的宝石时运行bundle gem mygem -b