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

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

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


person Craig Williams    schedule 17.10.2009    source источник
comment
ОБНОВЛЕНИЕ: Rb-appscript не работает с MacRuby. Все еще не понимаю, почему нокогири нет.   -  person Craig Williams    schedule 18.10.2009


Ответы (5)


Упаковщик драгоценных камней Yehuda Katz - очень хороший вариант ИМХО:

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

person rubiojr    schedule 04.12.2009
comment
Это хорошо, но очень неудобно, так как требуется гем со многими другими зависимостями. - person Overbryd; 02.02.2012

Чтобы использовать драгоценные камни в проекте MacRuby, вам необходимо использовать:

$ sudo macgem установить gem_name

Пока не все гемы совместимы с MacRuby.

person Craig Williams    schedule 20.10.2009

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

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

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

--compile --embed --gem sequel --gem sqlite3
person jpoz    schedule 08.05.2011

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

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

person Victor Jalencas    schedule 17.11.2009

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

$ sudo gem install gem_name

затем просто потребуйте его в своей программе, вам также потребуется «rubygems»:

require 'rubygems'
require 'gem_name'
person Raafat    schedule 17.10.2009
comment
Привет, Раафат, спасибо за ответ. У меня установлены драгоценные камни, и я использую их каждый день в обычных сценариях. Я требую rubygems и драгоценных камней после этого. Ошибка - ошибка загрузки. Они работают: требуют «rubygems» требуют «бекон» требуют «net/http» требуют «ури» Это не так. требуется «нокогири» требуется «appscript» - person Craig Williams; 18.10.2009