GalleryMaker w Rubym

20 listopada 2007, 00:35:24

Poziom: 0 | Kategoria: Komputerowo-internetowo, Ruby.

W ramach nauki języka Ruby postanowiłem napisać sobie prostą i zwinną klasę do tworzenia indeksu zdjęć znajdujących się w zadanym katalogu. Klasa umożliwiać ma tworzenie miniaturek, obsługiwać szablony, itp.

W tej chwili działa tworzenie galerii razem z miniaturkami. Dzisiaj, implementując nową wersję, znalazłem ciekawą klasę Ruby'egoOptionParser. Jak sama nazwa wskazuje, klasa parsuje zadane opcje. Jej możliwości są jednak dosyć spore. Można definiować różne aliasy parametrów, definiować parametry konieczne i opcjonalne, w dodatku nie trzeba implementować dodatkowych metod typu usage, gdyż dostajemy je za darmo, a opisy parametrów dodajemy przy ustalaniu listy dostępnych parametrów. Poniżej przykład wykorzystania klasy (wzięty z mojego generatora indeksów zdjęć):

require 'optparse'

        dir = "."
        index = "index.html"

        options = OptionParser.new do |opts|
                opts.banner = "GalleryMaker #{G_VERSION}."
                opts.separator ""
                opts.separator "Dostepne opcje:"
                
                opts.on("-d", "--directory KATALOG", "Ustawia  \
KATALOG ze zdjeciami (domyslnie .)") do |d|
                        dir = d
                end

                opts.on("-i", "--index PLIK", "Ustawia nazwe pliku \
z indeksem na PLIK (domyslnie index.html)") do |i|
                        index = i
                end

                opts.on_tail("-h", "--help", "Wyswietla ta wiadomosc") do
                        puts opts
                        exit
                end

                opts.on_tail("-v", "--version", "Wyswietla numer wersji") do
                        puts G_VERSION
                        exit
                end
        end.parse(ARGV)

Tagi:

Komentarze do notki “GalleryMaker w Rubym”:

  1. janu

    A czego używasz do tworzenia miniaturek? `mogrify (...)` czy jakiejś biblioteki wbudowanej?

  2. GhandaL

    Korzystam z RMagick + ImageMagick. Początkowo z samego ImageMagicka, ale skoro jest RMagick, to czemu z niego nie korzystać.

Zostaw komentarz (Textile włączony):