RE: ricaricare le lib in rails

tranquillo Kiaro, non devi rispianare la macchina perchè non ti funziona,
purtroppo è esattamente così…
Plugins e librerie vengono caricate la prima volta che vengono
richiamate e poi cachate…
per ogni modifica occorre riavviare webrick…

Hmmm. Cos’è che fa esattamente “reload!” in “script/console”? forse puoi
crearti uno scriptino che fa quel che occorre per ricaricare l’ambiente?

Giuliano U. wrote:


“Remember, always be yourself. Unless you suck.” - Joss Whedon

sarebbe utile! oppure conoscendo il meccanismo di caricamento di rails
potrei hackarlo.
voglio un bel bottone rosso da premere e non pensarci più :slight_smile:

qualcuno di voi ha esperienza con questi meccanismi?

Il personale barbatrucco che avevo usato per un’applicazione che avevo
fatto
tempo fa è il seguente.
Fra i commenti ho scritto alcune cavolate che potrebbero non avere
senso, ma
siccome c’erano li ho lasciati :stuck_out_tongue:

Spezzone di application.rb

Permette di vedere le modifiche dei moduli presenti in lib senza dover

riavviare il web server (usare require_dependency ‘module.rb’ se si
desidera
caricare automaticamente SOLO un file)
Dir[File.join(RAILS_ROOT, ‘lib’, “*.rb”)].each do |file|
require_dependency file
end

Filters added to this controller will be run for all controllers in

the
application.

Likewise, all the methods added will be available for all controllers.

class ApplicationController < ActionController::Base

Il senso è quello di aprire application.rb e prima della definizione della
classe andare a fare un bel reload di quello che ti vuoi ricaricare. Il
segretino, se così si può chiamare, è che application.rb viene richiamato
sempre prima di eseguire un azione, quindi di volta in volta di
ricaricherà
le librerie desiderate
File.join… ti definisce la posizione dei file da ricaricare.
Nell’esempio
si ricarica i file .rb che trova nella cartella lib. Attenzione che così
com’è non ricarica tutti i file delle sottocartelle.

A me ha rallegrato lo sviluppo a suo tempo, anche se il codice
dell’application controller si sporca un pochino… ma io non sono poi
così
pignolo :stuck_out_tongue:

Mittico Rejes! satsera provo e ti faccio sapere.

Giuliano U. wrote:

tranquillo Kiaro, non devi rispianare la macchina perch� non ti funziona,
purtroppo � esattamente cos�…
Plugins e librerie vengono caricate la prima volta che vengono
richiamate e poi cachate…
per ogni modifica occorre riavviare webrick…

Se, nella classe includi il modulo Reloadable, le modifiche vengono
prese al volo, senza riavviare webrick (sia plugins che librerie)

Ciao
Simo
addsw.it