Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > Наваял тут...


Автор: GrayCardinal 24.6.2009, 13:47
Добрый день !
Я с недавного времени кодю на руби. Меня убивало то, что модули проги необходимо было инсталлить в опр. каталог да еще и под рутом.  Да, как вариант можно было тупо все файлы объеденить в один (что-нибудь вроде "$ cat ./*.rb >myprog"),но мне в голову пришло более красивое решение. 

Суть моей проги. Она пакует все файлы в один, потом зипом. Первая строчка - "чем запускать" ставится моя прога и скрипт запускается как обычно (!).
Т.е.
Ставим "rbz" (просто копируем в /usr/bin/ и делаем chmod)
Собираем .rbz файло.
$ rbz pack <имя rbz файла> <список файлов ruby> 
Запускаем
$ chmod a+x <имя rbz файла>
$ <имя rbz файла>
Т.е. прога - один красивый файло. (идею взял из Java smile )

собственно rbz (черновой вариант)
http://op.oaoontk.ru/rbz

С наилучшими пожеланиями...
Олег.

Автор: Brainerazer 24.6.2009, 21:30
Хм, а разве в руби нет аналога питоновских конструкций типа: создаем подпапку cool, там __init__.py, cool_module.py, и потом в основной программе  import cool.cool_module, или же проблема не в этом? Если так, то обьясните, пожалуйста, попонятнее проблему(с решением-то все ясно)

Автор: source777 26.6.2009, 21:31
Цитата(GrayCardinal @  24.6.2009,  13:47 Найти цитируемый пост)
модули проги необходимо было инсталлить в опр. каталог да еще и под рутом.

o_O, ты о чём?

Автор: GrayCardinal 31.7.2009, 10:52
В свинке новая версия... Теперь rbz СОБИРАЕТ все включенные файлы в один.

Делать rbz файло так:
$ rbz pack <rbz_file> <main ruby file>
Грузить так же как раньше
$ chmod a+x <rbz_file>
$ <rbz_file>

Enjoy !

Автор: GrayCardinal 31.7.2009, 13:02
Вторая попытка.  smile 

В общем. есть у вас 50-60 файлов с Вашими классами одной проги. По-хорошему все файлы надо инсталлить (в /usr/lib/ruby...) Это очень некрасиво. rbz соберет все файы в один красивый .rbz, который можно запускать непосредственно...


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)