Использование библиотек Ruby и драгоценных камней с помощью приложения "Обувь"

Я пишу небольшое приложение для обуви, которое требует библиотеки, которую я написал с моей обычной установкой Ruby. Моя библиотека использует жемчужину "net-ssh" и кучу других библиотек Ruby.

Когда я запускаю свою библиотеку напрямую с обычным рубином (у него есть собственный интерфейс командной строки):

ruby my_lib.rb

... все в порядке. Но когда я пытаюсь выполнить его в своем приложении "Обувь" , я получаю "нет такого файла для загрузки - net/ssh" (потому что my_lib использует net-ssh).

Я попробовал возиться с переменной пути $: include в приложении "Обувь" следующим образом:

$:.unshift "C:/ruby/lib/ruby/1.8"
$:.unshift "C:/ruby/lib/ruby/site_ruby/1.8"
require 'rubygems'
gem 'net-ssh'
require 'my_lib.rb'

... но не имел успеха. Я получаю "Не удалось найти RubyGem net-ssh".

У кого-то была такая же проблема? Какой лучший способ использовать ваши библиотеки Ruby и драгоценные камни в приложении "Обувь" ?

Ответы

Ответ 1

Эй, _ почему опубликовал в своем блоге, hackety.org, об использовании драгоценных камней в обуви. Надеюсь, это поможет!

Shoes.setup do
  gem 'json >= 1.1.1'
  gem 'activerecord'
end

require 'json'
require 'activerecord'

Shoes.app do
  @msg = para "ALL SYSTEMS GO"
  animate(20) { @msg.toggle }
end

Ответ 2

Для обуви4 метод Shoes.setup устарел. Вы можете установить необходимые вам камни:

  • gem install net-ssh
  • Использование bundler и Gemfile

Затем вам нужно только require 'net-ssh' в вашем приложении.