Sfondo: ci sono diversi posti nella nostra app in cui vogliamo visualizzare le informazioni orientate alla data su un calendario. La event_calendar gem sembra carina e ha molte recensioni, quindi è quello che sto pensando di usare. Tuttavia, è progettato per funzionare con un modello. Non aggiornerò i nostri modelli esistenti per soddisfare le sue esigenze, quindi creeremo una classe DTO e una funzione helper per costruire una serie di istanze dai nostri modelli esistenti.
La mia domanda è: dove dovrebbe vivere la classe DTO? Sembra che debba essere definito all'interno di ViewHelper
, ma questo violerà DRY non appena utilizzo il calendario per due modelli (nota: le funzioni di supporto saranno diverse, sarà solo la classe DTO che rimarrà la stessa).
Quindi, c'è una posizione standard nell'albero delle directory di Rails in cui vivono le classi non correlate ai modelli?
O c'è un modo migliore / più idiomatico per farlo? Un pensiero che ho avuto è stato quello di rendere la mia funzione di supporto decorare le istanze di modello esistenti con i metodi che event_calendar vuole vedere.