2012-07-19 14 views
5

Sono estremamente nuovo al rubino e alla creazione di gemme. Ho creato una gemma semplice che webscrap alcune informazioni a seconda dell'input. Tuttavia, per usare la mia gemma ho bisogno di andare nell'interprete (irb) e richiedere la mia gemma e quindi chiamare il metodo con alcuni parametri.Fare gemme di rubini rispondono ai comandi del terminale

Supponiamo che la gemma si chiami foo. Supponiamo che il metodo sia chiamato print_website(x) # where x is a string.

Voglio essere in grado di fare qualcosa di simile:

$ foo test.com 

e dovrebbe chiamare automaticamente il metodo ed eseguirlo.

Grazie in anticipo! Per favore, chiedimi chiarimenti se non fossi al corrente! : D

+0

prima devi eseguire require ('foo'), e quindi puoi provare a foo test.com. se può funzionare. – Shreedhar

risposta

5

Prova ora

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

Modifica bin/foo

#!/usr/bin/env ruby 

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

aggiungete quanto segue al Gemfile

s.executables << 'foo' 

push gioiello. Ora hai pubblicato l'utilità della riga di comando

+0

Ciao! Sono ancora confuso su dove devo effettivamente chiamare il metodo e su come fornirlo con ARGV [0] e ARGV [1]. Grazie! – VarunMurali

+0

Controlla: https://gist.github.com/3149034 –

+0

E 'stato fantastico grazie! Ma un'altra cosa, dove aggiungerei una dipendenza? Ho bisogno di 'nokogiri' per eseguire questo e dice che c'era un errore di caricamento e non poteva caricare nokogiri. Dove dovrei digitare la riga richiesta nokogiri? A partire da ora è nel file con il metodo. Grazie! – VarunMurali

0

Semplice, esegui semplicemente bundle gem mygem -b quando crei il tuo gioiello.

Problemi correlati