what tutorial rails instalar how guides gems descargar create ruby-on-rails ruby irb

ruby-on-rails - instalar - rails create gem tutorial



Rubygem recargar en IRB (3)

Como otros han sugerido, puede usar Kernel # load. Sin embargo, no pierda el tiempo buscando y cargando cada archivo gem, ya que todos los archivos requeridos se almacenan en $ ". Armado con este conocimiento, aquí hay un comando reload irb:

def reload(require_regex) $".grep(/^#{require_regex}/).each {|e| load(e) } end

Por ejemplo, si estuvieras usando la gema hirb en irb, simplemente recargarías con:

>> reload ''hirb''

Si, por alguna razón, la carga no funciona (es más delicado con respecto a las extensiones de archivo que las requeridas), puede volver a requerir cualquier archivo eliminando primero su entrada en $ ". Con este consejo, el comando anterior sería:

def reload(require_regex) $".grep(/^#{require_regex}/).each {|e| $".delete(e) && require(e) } end

Elige lo que funcione para ti. Personalmente, uso este último.

¿Hay alguna forma de "recargar" o "actualizar" un rubygem en la memoria? Cuando juego en irb, ocasionalmente me gusta modificar mis archivos de gemas, y si necesito la misma gema, no se actualiza en la memoria y da el resultado "falso". Actualmente tengo que salir de IRB, volver a IRB y luego volver a solicitar la gema, tiene que haber una mejor manera ... ¿qué es?


Una forma es usar Kernel#load . Puede usarlo como lo Kernel#require , excepto que tiene que incluir explícitamente la extensión de archivo. Sin embargo, tiene sus inconvenientes (incluso algo tan simple como la class Foo < Struct.new(:foo); end falla, ya que no es posible cambiar la superclase de una clase), así que también me gustaría saber una mejor manera. para hacer esto.

En rieles puedes lograr esto con reload! en el script / consola, pero no sé qué tipo de magia usan.

Esta esencia parece prometedora, pero no la he probado.


cargar ''nombre_archivo.rb''

uno a la vez para cada uno que fue cambiado ...