Parametri richiesti per l'aggiornamento della categoria nell'API di Discourse

Trovo anche io questo un po’ fastidioso. Quando aggiorno altre informazioni relative a una categoria, non conosco necessariamente il color e il text_color della categoria stessa. Le mie opzioni sono quindi modificare entrambi con valori neutri o aggiungere un’altra chiamata API per raccogliere prima tali informazioni. Ecco un esempio che utilizza il discourse_api gem:

response = client.categories

cat = response.find {|e| e['name'] == 'Category Name'}

response = client.update_category(
  id: cat['id'],
  name: cat['name'],
  color: cat['color'],
  text_color: cat['text_color'],

  # Aggiungi qui gli attributi che desideri effettivamente aggiornare
  parent_category_id: 7, # Sto annidando diverse categorie sotto la #7
)

Ovviamente non conoscerò sempre nemmeno il nome della categoria. Di sicuro devo recuperarlo prima di aggiornare la categoria.

Sarebbe utile se quei parametri non fossero obbligatori. In alternativa, potrebbe esserci una qualche sintassi per indicare “non voglio modificare questo campo”? Ad esempio, se passi _, quell’attributo verrebbe semplicemente impostato sul valore corrente. (Non sono sicuro del motivo per cui i campi siano obbligatori, quindi sto proponendo idee che potrebbero essere utili o meno.)