Распространение приложений Rails в контейнере OSX .app - PullRequest
5 голосов
/ 16 января 2010

Я хочу распространять приложение Rails в пакете .app, чтобы оно могло работать с 10.4 до 10.6; Есть ли какие-либо инструкции или подсказки, как это сделать? Особенно следующие вещи заставляют меня вертеть головой:

  1. Я хочу переупаковать приложение с Ruby 1.8.6, чтобы оно работало, даже если в системе установлена ​​более старая версия Ruby (например, 1.8.4 в Mac OS X Tiger) - как бы Я пришел к универсальным бинарным проблемам? Могу ли я просто добавить Ruby и использовать эту конкретную версию Ruby для запуска моего приложения?

  2. ОСУЩЕСТВЛЕНИЕ: Я хочу иметь .app, который запускается как тонкий или монгрел, когда приложение запускается, и останавливает приложение, когда оно закрыто. Есть ли какой-нибудь пример проекта OS X XCode (или любой другой пример)?

  3. Можно ли использовать контейнер XCode? Какие еще варианты у меня есть?

Ответы [ 4 ]

1 голос
/ 16 января 2010

Как насчет использования jRuby для вашего приложения, вы можете затем упаковать все ваше приложение в один файл .jar и распространять его таким образом.

Мне удалось запустить мои приложения Ruby on Rails в jRuby без каких-либо серьезных изменений в приложении, кроме изменения собственного драйвера MySQL с помощью чистой реализации JDBC java.

Также проверьте это аналогичный вопрос и проект Kenai для получения дополнительной информации о jRuby.

0 голосов
/ 27 января 2010

Вы пробовали ящик? На самом деле это инструмент для упаковки универсального приложения ruby, но вы можете вставить туда приложение rails. Пара ссылок:

http://rubyconf2008.confreaks.com/crate-packaging-your-ruby-application.html http://www.copiousfreetime.org/articles/2008/11/30/package-an-application-with-crate.html

0 голосов
/ 23 января 2010

Кажется, это только вопрос времени, когда вы сможете запускать приложения Rails в MacRuby. С v0.5b2 он уже поддерживает Sinatra, Racks, RDoc и другие. Я бы пошел на MacRuby, если вы можете подождать (или перенести приложение Rails на Sinatra)

В противном случае, я думаю, вы могли бы написать инструмент в Objective-C, который запускает встроенное приложение Rails через некоторые терминальные команды. Вы можете найти несколько указателей здесь.

0 голосов
/ 16 января 2010

У MacRuby людей могут быть какие-то идеи

...