guard - Las barandillas no proporcionan REPL para atar.
pry (2)
Estoy usando barandillas para ejecutar mi servidor de rieles, mi problema es que no puedo acceder al REPL cuando agrego el enlace.
From: /home/martinr/code/app/controllers/tools_controller.rb @ line 2 ToolsController#index:
2: def index
=> 3: binding.pry
4: @end_date = Date.today.to_s
5: @start_date = Date.today.months_ago(3).to_s
7: end
[1] pry(#<ToolsController>)>
No REPL, ¿cómo uso la palanca con barandillas?
Mi archivo Gemfile se ve así
group :development, :test do
gem ''pry-rails'' # for better console debugging
gem ''pry-debugger''
gem ''rb-inotify''
gem ''sqlite3''
end
Mi archivo de protección:
guard ''rails'', :debugger => true do
watch(''Gemfile.lock'')
watch(%r{^(config|lib)/.*})
end
Estoy intentando algo similar, y tampoco puedo hacerlo funcionar. El problema parece que la lectura de stdin no se bloquea, por lo que Pry no se bloquea. Cualquier lectura de STDIN regresa de inmediato.
rspec -X console.rb
El archivo sigue:
require ''spec_helper''
describe ''console'' do
it ''opens!'' do
Pry.config.input = STDIN
Pry.config.output = STDOUT
puts STDIN.closed? # returns false
binding.pry # returns right away, does not block
gets # returns right way, does not block
end
end
He configurado mi entorno de rieles con Guard y Spork y me parece que la palanca de palanca actúa de forma extraña con la guardia. Si inserto binding.pry en el código y luego Guard reinicio mis pruebas, no hay depuración interactiva. Pero si salgo y vuelvo a poner guardia, está funcionando y entra en modo interactivo correctamente.
Sin embargo ... si luego elimino la línea binding.pry, el guardia volverá a ejecutar las pruebas como se supone, pero se interrumpirá donde solía estar la línea de enlace, aunque ya no esté allí.
Parece que tiene que reiniciar la guardia cada vez que inserte o elimine el enlace de palanca.
Irritante, pero aún mejor que no tener acceso para hacer palanca en sus pruebas.