Seguí el Rails Tutorial en la configuración de pruebas automáticas con Guard and Spork. De vez en cuando, sobre todo cuando guardar una plantilla sin editar en mi editor de, Guardia se quejan (full backtrace):Error al ejecutar el proceso Guard: no se puede encontrar el método de singularización
ERROR: Problem with watch action!
undefined method `singularize' for "layouts":String
Mi Guardfile:
# A sample Guardfile
# More info at https://github.com/guard/guard#readme
guard 'rspec', :version => 2, :all_after_pass => false, :cli => '--drb' do
watch(%r{^spec/.+_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch('spec/spec_helper.rb') { "spec" }
# Rails example
watch(%r{^spec/.+_spec\.rb$})
watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
watch(%r{^app/controllers/(.+)_(controller)\.rb$}) do |m|
["spec/routing/#{m[1]}_routing_spec.rb",
"spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb",
"spec/acceptance/#{m[1]}_spec.rb",
"spec/requests/#{m[1].singularize}_pages_spec.rb"] ### Look here ###
end
watch(%r{^app/views/(.+)/}) do |m|
"spec/requests/#{m[1].singularize}_pages_spec.rb" ### Look here ###
end
watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
watch('spec/spec_helper.rb') { "spec" }
watch('config/routes.rb') { "spec/routing" }
watch('app/controllers/application_controller.rb') { "spec/controllers" }
# Capybara request specs
watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
end
guard 'spork', :rspec_env => { 'RAILS_ENV' => 'test' } do
watch('config/application.rb')
watch('config/environment.rb')
watch(%r{^config/environments/.+\.rb$})
watch(%r{^config/initializers/.+\.rb$})
watch('Gemfile')
watch('Gemfile.lock')
watch('spec/spec_helper.rb')
watch('test/test_helper.rb')
end
Guardia no se queja si recomienzo , pero reiniciar es ponerse un poco molesto; Sin duda, no es tan molesto como correr rspec
cada vez que quiero una prueba.
- Probé la sugerencia de this post, pero creo que puede haber
.autotest
el archivo incorrecto para guardia, ya que esta no es la fijación de la cuestión. El only similar error que encontré con Google no parece estar relacionado
Sí, '# singularize' es de [ActiveSupport :: Inflector] (http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html), por lo que' require 'active_support/inflector'' es suficiente. – Netzpirat
Doh! Si fuera un ejemplo de código completo, habría copiado y pegado. : D Espero que esto ayude al alma desafortunada que tiene este problema en el futuro. Además, ¡gracias por el consejo sobre proteger a spork primero! – jrhorn424
me ayudó al menos :) ¡Gracias! –