# Substituto recomendado para modifyClass("model:composer") ao sobrescrever save()

**URL:** https://meta.discourse.org/t/recommended-replacement-for-modifyclass-model-composer-when-overriding-save/410125
**Category:** Development
**Tags:** composer
**Created:** [15 Agosto , 2026 09:05 UTC](https://meta.discourse.org/t/recommended-replacement-for-modifyclass-model-composer-when-overriding-save/410125 "2026-08-15T09:05:05Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![jahan\_gagan](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jahan_gagan/32/501948_2.png) [@jahan\_gagan](https://meta.discourse.org/u/jahan_gagan)
#### Post date: [15 Agosto , 2026 09:05 UTC](https://meta.discourse.org/t/recommended-replacement-for-modifyclass-model-composer-when-overriding-save/410125/1 "2026-08-15T09:05:05Z")

</div>

Estou migrando para longe da `api.modifyClass("model:composer", ...)` obsoleta.

A minha substituição atual de `Composer#save` altera condicionalmente o comportamento de salvamento, mas, caso contrário, precisa chamar `super.save(opts)`.

Vejo as novas APIs `addModelMethod` / `addModelCallback`, mas não consigo encontrar um exemplo no núcleo do uso de `addModelMethod` para substituir um método existente mantendo o acesso à implementação original.

`addModelMethod` é destinado a substituir métodos de modelo existentes dessa forma? Se for, como um plugin deve delegar para a implementação original de `save()`?

Ou há outro ponto de extensão que deve ser usado para este caso de uso do Composer?

---

_[View the full topic](https://meta.discourse.org/t/recommended-replacement-for-modifyclass-model-composer-when-overriding-save/410125)._
