Как сохранить статические ресурсы из синхронизированного пакета в моем приложении Rails 2.3? - PullRequest
0 голосов
/ 09 декабря 2010

Я работаю над приложением Rails 2.3 и хотел бы преобразовать некоторые из моих статических ресурсов (JS, CSS) в отдельный гем. Проблема состоит в том, что движки Rails 2.3 не поддерживают общедоступные каталоги, как движки Rails 3, поэтому единственный способ получить доступ к этим файлам из приложения - это скопировать их.

Одна мысль, которая у меня возникла, заключалась в том, чтобы использовать какой-то хук "afterBundle", который я мог использовать для автоматического копирования ресурсов после завершения "комплектной установки". Я взглянул на документацию и источник Бандлера и не нашел ничего похожего на то, о чем я думаю. Как другие решили эту проблему?

1 Ответ

0 голосов
/ 09 декабря 2010

Одной из проблем при использовании Bundler является то, что теперь для вас есть два пути установки: gem install и bundle install.Даже если вы взломаете действие Bundler после установки в Bundler, оно не запустится, если кто-нибудь сделает gem install.Одно из решений заключается в том, чтобы сделать gemspec относительно пустым, например:

https://github.com/hedgehog/fog/blob/bundler/fog.gemspec

Затем имитировать хук после установки для gem install, который фактически вызывает bundle install:

https://github.com/hedgehog/fog/commit/32878aaa9ef1fd3add148039fecd6e4059873d5d

С этим обходным путем вы можете добавить свои действия после установки после запуска bundle install.

Однако, добавив шаги после установки к gem install, вы получите- возникла проблема с открытием - два разных пути установки, просто теперь gem install делает больше (шаги после установки), чем bundle install.

См. также: http://blog.costan.us/2008/11/post-install-post-update-scripts-for.html

...