# Includere librerie a rails

**URL:** <https://www.ruby-forum.com/t/includere-librerie-a-rails/108371>\
**Category:** IT\
**Created:** [July 2, 2007, 9:22pm UTC](https://www.ruby-forum.com/t/includere-librerie-a-rails/108371 "2007-07-02T21:22:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![tarini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/5f8ce5/32.png) [@tarini](https://www.ruby-forum.com/u/tarini)\
**Post date:** [July 2, 2007, 9:22pm UTC](https://www.ruby-forum.com/t/includere-librerie-a-rails/108371/1 "2007-07-02T21:22:04Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tarini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/5f8ce5/32.png) [@tarini](https://www.ruby-forum.com/u/tarini)\
**Post date:** [July 2, 2007, 11:36pm UTC](https://www.ruby-forum.com/t/includere-librerie-a-rails/108371/2 "2007-07-02T23:36:21Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tarini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/5f8ce5/32.png) [@tarini](https://www.ruby-forum.com/u/tarini)\
**Post date:** [July 2, 2007, 11:46pm UTC](https://www.ruby-forum.com/t/includere-librerie-a-rails/108371/3 "2007-07-02T23:46:24Z")

</div>

Il 02/07/07, Paolo Donà [removed\_email\_address@domain.invalid](mailto: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

---

<div class="post-metadata">

**Author:** ![tarini](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/5f8ce5/32.png) [@tarini](https://www.ruby-forum.com/u/tarini)\
**Post date:** [July 3, 2007, 9:32am UTC](https://www.ruby-forum.com/t/includere-librerie-a-rails/108371/4 "2007-07-03T09:32:22Z")

</div>

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](mailto:removed_email_address@domain.invalid) ha scritto:

> > class Hash
> 
> removed\_email\_address@domain.invalid  
> [http://lists.ruby-it.org/mailman/listinfo/ml](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
