Ho uno scenario in cui sto usando un servizio esterno che richiede un grosso hash di parametri come:
def external_service_params(user, invoice)
{
name: user.name,
email: user.email,
phone: user.phone,
invoice_id: invoice.id,
invoice_number: invoice.number,
invoice_total: invoice.total
}
end
Si tratta di un caso di "invidia caratteristica" o "invidia dati"? In tal caso, la soluzione è spostare il metodo nell'altro oggetto. Ma mi sento a disagio perché la serie di dati richiesta riguarda solo il servizio esterno. Se continuassi a farlo, mi sento come se i miei altri oggetti di dati fossero gonfiati da molti metodi. Sto interpretando male l'odore o ci sono soluzioni migliori?