Рабочий процесс разработки драгоценных камней - PullRequest
2 голосов
/ 12 июля 2011

Я работаю над форком чьего-то драгоценного камня, который является утилитой командной строки.Вот общий обзор структуры каталогов:

bin/
bin/foo

lib/
lib/foo.rb
lib/foo/bar.rb (etc)

Чтобы проверить это, я обычно делаю что-то вроде этого:

cd bin/
./foo <args>

Но я хочу иметь возможность использовать его из любого каталога(как это было бы когда-то установлено).Мой вопрос заключается в том, возможно ли достичь этого, не устанавливая гем в моей системе каждый раз.

Моя первая попытка состояла в том, чтобы создать символическую ссылку на скрипт foo, который был в моем PATH, но это портитстрока require 'foo' в скрипте, поскольку File.dirname(__FILE__) теперь относится к тому, где была создана символическая ссылка.

Есть ли общий способ сделать это?

(О, и вот соответствующийстроки из скрипта foo)

#!/usr/bin/env ruby

$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/../lib')
require 'rubygems'
require 'foo'

(РЕДАКТИРОВАТЬ)

Мне известны обычные способы тестирования библиотеки (например, rake test и т. д.) - яЯ особенно заинтересован в использовании скрипта из любого каталога без переустановки гема при каждом изменении (если возможно).

1 Ответ

0 голосов
/ 13 июля 2011

Почти во всех драгоценных камнях, которые я изучал, есть какой-нибудь грабли. В этом случае вы идете в корень драгоценного камня и идете:

rake test

Для списка задач используйте:

rake -T

(Предполагается, что у вас установлен рейк , во-первых, очевидно: gem install rake, если нет.)

Кроме того, многие драгоценные камни также содержат гемфайл. В этом случае вы можете использовать bundler для установки применимых зависимостей (в частности, наборов тестов и гемов, связанных с разработкой).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...