# \[rails\] ma devo proprio fare delle lib?

**URL:** <https://www.ruby-forum.com/t/rails-ma-devo-proprio-fare-delle-lib/88557>\
**Category:** IT\
**Created:** [March 12, 2007, 5:33pm UTC](https://www.ruby-forum.com/t/rails-ma-devo-proprio-fare-delle-lib/88557 "2007-03-12T17:33:06Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [March 12, 2007, 5:33pm UTC](https://www.ruby-forum.com/t/rails-ma-devo-proprio-fare-delle-lib/88557/1 "2007-03-12T17:33:06Z")

</div>

mi ritrovo a dover fare del codice in rails che deve esser visibile a un  
paio di model e a degli helper.  
se lo metto sotto lib mi ritrovo a dover riavviare a ogni changes e in  
più  
il codice conosce i miei models, quindi mi sembra brutto metterlo in  
lib,  
come se fosse una dipendenza.

dove lo mettereste voi? mi è venuto in mente un model fittizio parent di  
entrambi i model, ma la soluzione non mi piace. quello che vorrei è un  
modulo da includere da entrambi i models e dall’helper. dove lo posso  
mettere perchè non rompa le scatole e venga reso disponibile?

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [March 12, 2007, 5:50pm UTC](https://www.ruby-forum.com/t/rails-ma-devo-proprio-fare-delle-lib/88557/2 "2007-03-12T17:50:09Z")

</div>

chiaro scuro wrote:

> mi ritrovo a dover fare del codice in rails che deve esser visibile a un  
> paio di model e a degli helper.  
> direi in lib, tanto che ci ho visto mettere, ad esempio, moduli da  
> includere nei controller

> se lo metto sotto lib mi ritrovo a dover riavviare a ogni changes  
> Questo (almeno in production) capita anche per i model

e in più

> il codice conosce i miei models, quindi mi sembra brutto metterlo in lib,  
> come se fosse una dipendenza.

cosa intendi? e’ codice molto “vicino” ai dati? ti serve solo dai model?

> dove lo mettereste voi? mi è venuto in mente un model fittizio parent di  
> entrambi i model, ma la soluzione non mi piace. quello che vorrei è un  
> modulo da includere da entrambi i models e dall’helper. dove lo posso  
> mettere perchè non rompa le scatole e venga reso disponibile?  
> non c’e’ una indicazione precisa di “stile”, potresti metterlo anche  
> nella directory models se fosse utilizzato solo da questi…

## Luca

## Web: [http://spazidigitali.com](http://spazidigitali.com) - [http://thetyper.com](http://thetyper.com) Email mailto://removed\_email\_address@domain.invalid Skype callto://l.mearelli

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [March 12, 2007, 6:20pm UTC](https://www.ruby-forum.com/t/rails-ma-devo-proprio-fare-delle-lib/88557/3 "2007-03-12T18:20:13Z")

</div>

On 3/12/07, Luca M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > se lo metto sotto lib mi ritrovo a dover riavviare a ogni changes  
> > Questo (almeno in production) capita anche per i model

vero, ma in fase di sviluppo è una sofferenza dover riavviare.

e in più

> > il codice conosce i miei models, quindi mi sembra brutto metterlo in  
> > lib,  
> > come se fosse una dipendenza.
> 
> cosa intendi? e’ codice molto “vicino” ai dati? ti serve solo dai model?

è codice che uso dai models e da alcuni helper ed è a conoscenza di altri  
models esistenti. lo avrei messo in un helper se non fosse per il fatto  
che  
mi serve richiamarlo anche dai models.

non c’e’ una indicazione precisa di “stile”, potresti metterlo anche

> nella directory models se fosse utilizzato solo da questi…

mmmh e mi viene tirato su automaticamente? non lo sapevo, thanks…  
effettivamente questo è il meccanismo che carica anche i models no? basta  
che sia nella dirctory, mentre i controllers vengono caricati ad-hoc in  
base  
al nome.

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [March 12, 2007, 6:40pm UTC](https://www.ruby-forum.com/t/rails-ma-devo-proprio-fare-delle-lib/88557/4 "2007-03-12T18:40:17Z")

</div>

On 3/12/07, chiaro scuro [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> mmmh e mi viene tirato su automaticamente? non lo sapevo, thanks…  
> effettivamente questo è il meccanismo che carica anche i models no? basta  
> che sia nella dirctory, mentre i controllers vengono caricati ad-hoc in base  
> al nome.  
> Da alcune ricerche sembrerebbe questa la risposta:  
> [http://wiki.rubyonrails.org/rails/pages/RequireDependency](http://wiki.rubyonrails.org/rails/pages/RequireDependency)  
> ma sulle api di Rails non sembro trovare riscontro.  
> Ciauz.  
> –  
> francesco levorato aka flevour  
> [http://www.flevour.net/](http://www.flevour.net/)  
> “Now while the blood is hot you should make your way with vigour to  
> better things.” (Seneca)

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [March 12, 2007, 9:25pm UTC](https://www.ruby-forum.com/t/rails-ma-devo-proprio-fare-delle-lib/88557/5 "2007-03-12T21:25:39Z")

</div>

On 3/12/07, Luca M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > mmmh e mi viene tirato su automaticamente? non lo sapevo, thanks…  
> > wait… su questo non sono sicuro (se per automaticamente intendi senza  
> > bisogno di riavvio)! e’ solo che la dir models e’ inclusa nelle

Dovrebbe essere sufficiente mettere il file condiviso (es.  
“condiviso.rb”) sotto models/ e nel modello che lo usa aggiungere un  
“require ‘condiviso’”. Se/quando viene ricaricato il modello, verrà  
ricaricato anche il file condiviso.

–  
Massimiliano M.  
code: [http://dev.hyperstruct.net](http://dev.hyperstruct.net)  
blog: [http://blog.hyperstruct.net](http://blog.hyperstruct.net)

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [March 12, 2007, 9:35pm UTC](https://www.ruby-forum.com/t/rails-ma-devo-proprio-fare-delle-lib/88557/6 "2007-03-12T21:35:40Z")

</div>

On 3/12/07, Massimiliano M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> On 3/12/07, Luca M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
> Dovrebbe essere sufficiente mettere il file condiviso (es.  
> “condiviso.rb”) sotto models/ e nel modello che lo usa aggiungere un  
> “require ‘condiviso’”. Se/quando viene ricaricato il modello, verrà  
> ricaricato anche il file condiviso.

il file viene trovato e caricato, ma non viene ricaricato ogni volta. il  
require\_dependency suggerito da francesco dovrebbe risolvere il  
problema. mò  
provo.

parlando di loading in rails, qualcuno di voi ha idea di come funzioni  
l’hack del meccanismo di loading utilizzato ad esempio da typo con i  
temi? è  
come credo un hack o c’è un modo pulito di farlo?

---

<div class="post-metadata">

**Author:** ![chiaroscuro](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/c5a1d2/32.png) [@chiaroscuro](https://www.ruby-forum.com/u/chiaroscuro)\
**Post date:** [March 12, 2007, 6:32pm UTC](https://www.ruby-forum.com/t/rails-ma-devo-proprio-fare-delle-lib/88557/7 "2007-03-12T18:32:14Z")

</div>

chiaro scuro wrote:

> vero, ma in fase di sviluppo è una sofferenza dover riavviare.

ah ok

> ```
> non c'e' una indicazione precisa di "stile", potresti metterlo anche
> nella directory models se fosse utilizzato solo da questi... 
> 
> ```
> 
> mmmh e mi viene tirato su automaticamente? non lo sapevo, thanks…  
> wait… su questo non sono sicuro (se per automaticamente intendi senza  
> bisogno di riavvio)! e’ solo che la dir models e’ inclusa nelle  
> directory da cui Rails carica il codice esattamente come lib. (al  
> contrario se tu colessi metterlo in app/mie\_lib dovresti modificare  
> config.load\_paths)

Luca

–

## Web: [http://spazidigitali.com](http://spazidigitali.com) - [http://thetyper.com](http://thetyper.com) Email mailto://removed\_email\_address@domain.invalid Skype callto://l.mearelli
