2011-03-24 6 views
11

Rails tiene el útil comando rails console, que descarga todos los datos necesarios y luego podemos interactuar con el proyecto de raíles en irb. ¿Existe la misma técnica para el proyecto Ruby (basada en el lenguaje Ruby)? Por este truco puedo jugar con el proyecto Ruby en el irb sin preocuparse por cargar bibliotecas, módulos, clases, archivos, etc. Gracias carga automáticamente el entorno del proyecto a irb

Respuesta

14

Su proyecto debe tener un archivo que cargue el entorno. Asumiendo que su proyecto se encuentra en lib/project.rb entonces simplemente:

$ irb -Ilib -rproject 
1

de uno de mis proyectos:

# Creates an IRB console useful for debugging experiments 
# Loads up the environment for the condition passed 
def console 
    File.open("./tmp/irb-setup.rb", 'w') do |f| 
    f.puts "# Initializes the environment for IRb." 
    f.puts "Code to initialize your project here" 
    f.puts "$: << '#{File.expand_path(".")}/'" #handle load path  
    end 
    irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb' 
    # require your code 
    libs = " -r irb/completion" 
    libs << " -r #{File.dirname(__FILE__) + "/base"}" 
    libs << " -r ./tmp/irb-setup.rb" # require the config file you just wrote 
    puts "Loading #{@options.env} environment..." 
    exec "#{irb} #{libs} --simple-prompt" 
end 

El truco es que se construye el comando IRB a autorequire todo el código que necesita. También necesité configurar algo de configuración, así que agregué la magia de escribir un archivo que luego requiero en IRb.

+0

Explique dónde colocar esta función en el proyecto y cómo llamarla. – megas

+0

Ese tipo de depende de cómo está organizado su proyecto. Tengo un archivo que contiene una utilidad de línea de comandos que hace cosas como generadores, servidores, ejecutar el código, etc. Pero si pones un archivo 'console.rb' y al final simplemente agregas' console', entonces debería funcionar cuando ejecutarlo con 'ruby console.rb' debería funcionar. Tendrás que personalizarlo para satisfacer tus necesidades, he tratado de indicar dónde. –

0

En mi caso mi script de inicialización estaba en el directorio de trabajo actual. El siguiente funcionó para mí.

irb -r ./setup.rb 
Cuestiones relacionadas