2015-01-13 12 views
5

Attualmente sto usando Spork con Guard, Rspec e Cetriolo. Mi piacerebbe passare a Spring, ma non riesco a trovare alcuna documentazione su ciò che ho bisogno di cambiare.Come passare dallo spork alla primavera?

In particolare, io sono curioso di sapere se ho bisogno di cambiare il mio:

require 'spork' 

Spork.prefork do 
    # ... 
end 

Spork.each_run do 
    # ... 
end 

... con qualcosa di simile:

require 'spring' 

Spring.prefork do 
    # ... 
end 

Spring.each_run do 
    # ... 
end 

Tuttavia, so che there isn't a Spring.prefork because the documentation says so. Quindi dovrei semplicemente rimuovere i riferimenti a Spork o devo sostituirli con qualcosa?

risposta

4

Come si menziona nella sua interrogazione, non v'è alcun blocco Prefork. I documenti forniscono una soluzione alternativa: sposta semplicemente il tuo blocco Spork.prefork esistente su un inizializzatore o in qualsiasi punto che verrà raccolto ed eseguito al momento del caricamento da Rails.

Da https://github.com/rails/spring#running-code-before-forking:

Non c'è richiamata Spring.before_fork. Per eseguire qualcosa prima del fork, è possibile posizionarlo in ~/.spring.rb o config/spring.rb o in uno qualsiasi dei file che vengono eseguiti all'avvio dell'applicazione, ad esempio config/application.rb, config/environments/*.rb o config/initializers/*.rb.

quanto riguarda il tuo Spork.each_run blocco, dal momento che si sta utilizzando Rspec si potrebbe spostarlo in un blocco before(:suite). Vedi i documenti di Rspec su before and after hooks

1

Rimuovere semplicemente tutte le occorrenze di Spork e installare spring.

Successivamente eseguire bundle exec spring binstub --all.

Ora se si esegue bin/rails c verrà utilizzato spring.

Per rspec uso spring-commands-rspec

Problemi correlati