Ricaricare le lib in rails

domandina da newbie oggi.
in rails, anche in dev mode, mi ritrovo costretto a spegnere/riaccendere
per
fargli vedere una modifica nelle lib.

è piuttosto seccante. voi come fate?

–Kia

Spegnere e riaccendere la macchina ???

2006/10/2, chiaro scuro [email protected]:

Io sono proprio andato a staccare la corrente all’appartamento…

Noooo :-)))) Rails! dai non esageriamo :smiley:

no, nelle directory lib o vendor cambio del codice (mio, su cui sto
lavorando) e vorrei che il cambiamento venisse recepito da rails senza
doverlo riavviare. e no, non è codice che voglio mettere negli helper o
altri posti rails-specific.

scusate se sono stato più scuro che chiaro :wink:

cosa intendi per “le librerie”? Cioè che tipo di modifiche fai? A rails
stesso?

chiaro scuro wrote:

Ml mailing list
[email protected]
http://lists.ruby-it.org/mailman/listinfo/ml


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

On Oct 2, 2006, at 2:11 PM, chiaro scuro wrote:

domandina da newbie oggi.
in rails, anche in dev mode, mi ritrovo costretto a spegnere/
riaccendere per
fargli vedere una modifica nelle lib.

E vorrei vedere, Ruby mica e’ PHP :slight_smile:
Se usi l’ambiente di sviluppo (RAILS_ENV=development, di default)
qualsiasi modifica
al codice si riflette subito sull’applicazione che gira; se invece se
in produzione
(RAILS_ENV=production, di default) devi riavviare l’applicazione.
Il tutto e’ governato dal flag:

config.cache_classes = false

che viene impostato nel file sotto “config/environments” che
corrisponde all’ambiente usato.
Questo vale sicuramente per tutto il codice che fa parte
dell’applicazione; non mi ricordo
se funziona anche per le librerie esterne (se viene riscritto il
metodo “require” probabilmente
si’).

è piuttosto seccante. voi come fate?

Seccante? A me sembra semplicemente il comportamento piu’ giusto…


Stefano C.
[email protected]

On 10/2/06, Stefano C. [email protected] wrote:

Se usi l’ambiente di sviluppo (RAILS_ENV=development, di default)
qualsiasi modifica

si sono in dev mode ma mi da comunque quel problema.

Il tutto e’ governato dal flag:

config.cache_classes = false

è così di default in dev mode? scusa per le domande stupide ma non ho rails
qui ora.

Questo vale sicuramente per tutto il codice che fa parte

dell’applicazione; non mi ricordo
se funziona anche per le librerie esterne (se viene riscritto il
metodo “require” probabilmente
si’).

mmhh temo di no :-/ require o non require non cambia il comportamento.
sempre si incazza.

è piuttosto seccante. voi come fate?

Seccante? A me sembra semplicemente il comportamento piu’ giusto…

in produzione è giusto. quando sviluppo trovo seccante dover riavviare
rails
a ogni cambiamento. è molto unrails-like, dal che deduco che canno
qualcosa
io.

in questo momento non ho rails, ma più tardi provo. thx.

in realtà il fallimento l’ho notato proprio con le classi… aggiungevo una
classe e rails non la vedeva, dandomi un constant not defined.

On Oct 2, 2006, at 2:54 PM, chiaro scuro wrote:

si sono in dev mode ma mi da comunque quel problema.
mmhh temo di no :-/ require o non require non cambia il comportamento.
sempre si incazza.

Mi sa che il barbatrucco funziona solo con le classi (del resto il flag
si chiamera’ “cache_classes” per un motivo… c’ho messo un po’ a
realizzare :slight_smile:

prova a mettere in vendor/test.rb:

class Test
def test
puts “foo”
end
end

e poi da script/console esegui:

require ‘test’
t = Test.new
t.test
foo

ora senza uscire dalla console, cambia “foo” in bar, e rifai:

require ‘test’
t = Test.new
t.test
bar