2012-07-19 6 views
5

Jestem niesamowicie nowy w tworzeniu rubinów i klejnotów. Zrobiłem prosty klejnot, który webscrapes niektóre informacje w zależności od danych wejściowych. Jednak, aby użyć mojego klejnotu, muszę przejść do interpretera (irb) i wymagać mojego klejnotu, a następnie wywołać metodę z niektórymi parametrami.Tworzenie klejnotów rubinowych reagujących na polecenia terminalowe

Załóżmy, że klejnot nazywa się foo. Załóżmy, że metoda nazywa się print_website(x) # where x is a string.

Chcę być w stanie zrobić coś takiego:

$ foo test.com 

i powinna automatycznie wywołać metodę i uruchomić go.

Z góry dzięki! Proszę mnie o wyjaśnienia, jeśli jestem niejasny! : D

+0

Najpierw musisz wykonać require ('foo'), a następnie możesz wypróbować foo test.com. jeśli może działać. – Shreedhar

Odpowiedz

5

Wypróbuj

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

Edit bin/foo

#!/usr/bin/env ruby 

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

Dodaj następujący aby Gemfile

s.executables << 'foo' 

push gem. Teraz opublikowałeś narzędzie wiersza poleceń

+0

Cześć! Wciąż jestem zdezorientowany, kiedy muszę nazwać metodę i jak zapewnić jej ARGV [0] i ARGV [1]. Dzięki! – VarunMurali

+0

Sprawdź: https://gist.github.com/3149034 –

+0

To było niesamowite dzięki! Ale jeszcze jedno, gdzie mógłbym dodać zależność? Wymagam 'nokogiri', aby uruchomić to i mówi, że był błąd ładowania i nie mógł załadować nokogiri. Gdzie muszę wpisać wymaganą linię nokogiri? Jak na razie jest w pliku z metodą. Dzięki! – VarunMurali

0

Proste, po prostu uruchom bundle gem mygem -b podczas tworzenia klejnotu.

Powiązane problemy