Includere librerie a rails


#1

forse è una domanda un po’ strana… ma non riesco a trovare una
soluzione…

ho realizzato un mia estensione alla classe Hash utilizzando la
dinamicità
di Ruby, dove posso piazzare il file in modo che venga caricato allo
startup
dell’applicazione??

un esempio di libreria è questo

class Hash
def capitalize_values
self.each do
|k,v| self[k] = v.capitalize
end
end
end

thanks


everything has got to end sometime we were satellites drifting off into
space
vega 4 - burn and fade away


#2

lo puoi mettere in /lib.
In generale però sarebbe meglio che tu facessi un modulo e poi lo
mixassi in
Hash piuttosto che riaprire dritta la classe… Fa parte delle buone
pratiche che il buon Jim W. ci raccontò l’anno scorso alla
RailsConf…
Paolo


#3

Il 02/07/07, Paolo Donà removed_email_address@domain.invalid ha scritto:

In generale però sarebbe meglio che tu facessi un modulo e poi lo mixassi
in
Hash piuttosto che riaprire dritta la classe… Fa parte delle buone
pratiche che il buon Jim W. ci raccontò l’anno scorso alla
RailsConf…
Paolo

Il motivo è che decadono le performance? Perché per trovare un metodo deve
passare attraverso un puntatore in più, o sbaglio? Se non
è così perché?(Potrei non essermi espresso bene e risultare incomprensibile, non ho
“programming ruby” vicino e potrei sbagliarmi).
Ma per mixare un modulo all’interno di una classe non la devo riaprire?
Va
bene, si potrebbe:
Hash.send(:include,MySmartModule)
ma non è brutto?
Matteo


#4

quindi mettere un file in /lib significa metterlo in un classpath
automaticamente “analizzato” all’avvio della webapp? basta metterlo li e
l’avrò a disposizione ovunque?

Il 02/07/07, Paolo Donà removed_email_address@domain.invalid ha scritto:

class Hash

removed_email_address@domain.invalid
http://lists.ruby-it.org/mailman/listinfo/ml


everything has got to end sometime we were satellites drifting off into
space
vega 4 - burn and fade away