Использование драгоценных камней с MacRuby

Как вы используете драгоценные камни из приложения MacRuby.5 на Snow Leopard? Нужно ли указывать путь к gem? Если да, то как это сделать?

Лучший сценарий заключается в том, чтобы упаковать драгоценные камни внутри приложения, чтобы пользователю не приходилось устанавливать их при распространении приложения.

Ответы

Ответ 1

Yehuda Katz gem bundler - очень хороший вариант ИМХО:

http://github.com/wycats/bundler

Во всяком случае, есть много других вариантов, таких как создание каталога vendor/в вашем комплекте приложений, добавление каждого поддиректора поставщика к пути поиска библиотеки ruby ​​в rb_main.rb:

$:.unshift File.join(File.dirname(__FILE__), 'vendor/rest-client/lib')
$:.unshift File.join(File.dirname(__FILE__), 'vendor/crack/lib')
require 'rest-client'
require 'crack'

Я использую последний подход здесь:

http://github.com/rubiojr/canasto

Ответ 2

Чтобы использовать камни в проекте MacRuby, вам нужно использовать:

$sudo macgem install gem_name

Не все драгоценные камни совместимы с MacRuby.

Ответ 3

Если вы упаковываете приложение MacRuby, вы также можете добавить флаг --gem с macruby_deploy на вкладке "Информация" для своей цели развертывания.

Это помещает указанный камень в папку site_ruby глубоко внутри вашего пакета.

Аргументы, которые передаю macruby_deploy для моего приложения:

--compile --embed --gem sequel --gem sqlite3

Ответ 4

Драгоценные камни, написанные на C, еще не годятся для MacRuby. Итак, пока не нокогири.

Чтобы упаковать драгоценные камни, только что выпущенная MacRuby 0.5 beta 2 включает инструмент macrubyc, который упаковывает инфраструктуру MacRuby внутри вашего пакета. Они также добавили поддержку для этого непосредственно из Xcode всего за один шаг.

Ответ 5

1st u должен будет установить драгоценный камень:

$ sudo gem install gem_name

а затем просто потребуйте его в своей программе, и вам также понадобится "rubygems":

require 'rubygems'
require 'gem_name'