Il mio client ha un SDK nodejs che recupera entries
utilizzando un client che effettua richieste http. La loro api ha questo aspetto:
var Query = Client.ContentType('blog').Query();
Query
.where("title", "welcome")
.includeSchema()
.includeCount()
.toJSON()
.find().then((response) => resolvePromise etc...))
Mi è stato assegnato il compito di rispecchiare questa api ma in modo idiomatico in ruby.
I miei tentativi precedenti di fare entries = client.entries({content_type: 'blog'})
sono stati rifiutati. Ora vogliono che scriva un'ap che si legge in questo modo:
query = client.content_type('blog').query;
entries = query
.where("title", "welcome")
.include_schema
.include_count
.to_json
.find;
In qualche modo questo non ha senso per me (forse a causa del livello di errori di lettura coinvolti) e non so esattamente perché.
Se scrivo un metodo come content_type('content_uid')
sulla mia classe client, sto scrivendo un setter parametrizzato che già infrange le regole.
Se sei un rubyist, ti sembra un buon design di api? Come posso migliorare su questo?