2012-07-19 6 views
5

Soy extremadamente nuevo en el rubí y en la fabricación de gemas. Hice una gema simple que rastrea parte de la información dependiendo de la entrada. Sin embargo, para usar mi gema necesito entrar al intérprete (irb) y requerir mi gema y luego llamar al método con algunos parámetros.Hacer que las gemas de rubí respondan a los comandos de la terminal

Supongamos que la gema se llama foo. Supongamos que el método se llama print_website(x) # where x is a string.

Quiero ser capaz de hacer algo como:

$ foo test.com 

y debe llamar automáticamente el método y ejecutarlo.

¡Gracias de antemano! Por favor, pídeme una aclaración si no estaba claro. : D

+0

primero necesita ejecutar require ('foo'), y luego puede probar foo test.com. si puede funcionar – Shreedhar

Respuesta

5

Pruébalo

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

Editar bin/foo

#!/usr/bin/env ruby 

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

Agregar siguiente para Gemfile

s.executables << 'foo' 

joya Push. Ahora ha publicado la utilidad de línea de comandos

+0

¡Hola! Todavía estoy confundido en cuanto a dónde debo llamar realmente el método y cómo proporcionarlo con ARGV [0] y ARGV [1]. ¡Gracias! – VarunMurali

+0

Compruébelo: https://gist.github.com/3149034 –

+0

¡Fue increíble gracias! Pero una cosa más, ¿dónde podría agregar una dependencia? Necesito 'nokogiri' para ejecutar esto y dice que hubo un error de carga y no pudo cargar nokogiri. ¿Dónde debería escribir la línea require nokogiri? A partir de ahora está en el archivo con el método. ¡Gracias! – VarunMurali

0

Simple, simplemente ejecute bundle gem mygem -b al crear su gema.

Cuestiones relacionadas