Usando bibliotecas y gems de Ruby con la aplicación Shoes

Estoy escribiendo una pequeña aplicación de Shoes que requiere una biblioteca que escribí con mi instalación regular de Ruby. Mi biblioteca usa la gem ‘net-ssh’ y un montón de otras bibliotecas de Ruby.

Cuando ejecuto mi biblioteca directamente con ruby ​​regular (tiene su propia interfaz de línea de comandos) así:

ruby my_lib.rb 

…todo está bien. Pero cuando trato de exigirlo dentro de mi aplicación de Shoes, aparece un error de ‘no existe tal archivo para cargar – net / ssh’ (porque my_lib usa net-ssh).

Intenté jugar con la variable $: include path en la aplicación Shoes de esta forma:

 $:.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' 

… pero no tuvo éxito. Me sale ‘No se pudo encontrar RubyGem net-ssh’.

¿Alguien ha tenido el mismo problema? ¿Cuál es la mejor manera de usar tus bibliotecas y gems de Ruby en una aplicación de Shoes?

Hey, _why publicado en su blog , hackety.org, sobre el uso de gems dentro de Shoes. ¡Espero que ayude!

 Zapatos.configuración hacer
   gem 'json> = 1.1.1'
   gem 'activerecord'
 fin

 requiere 'json'
 requiere 'activerecord'

 Zapatos.app hacer
   @msg = para "TODOS LOS SISTEMAS VAN"
   animate (20) {@ msg.toggle}
 fin

Para shoes4, el método Shoes.setup está en desuso. Puedes instalar las gems que necesites ya sea por:

  1. gem install net-ssh
  2. Usando bundler y un Gemfile

Entonces, solo necesita require 'net-ssh' en su aplicación.