Lukas Renggli wrote:
> Yes, it was incorrect question. I mean the moment right after
object's got
> it's aspects values after user filled the form and pressed 'Saved'...
> I mostly interested this moment right after new object was added. But it's
> quite obvious to implement.
>
You can override #write:using: in any model object to intercept the
writing of values.
If you load
Magritte-RealMemento (a dependent of Magritte-Scriptaculous) it implements:
Object:#commit: - dummy implementation
and overrides
MACheckedMemento-#commit to send #commit: to the model.
It also has its own memento implementation which uses for the memento, a
copy of the original object (including behaviour) rather than a
dictionary of key-values.
I combine this with the client-framework, for pluggable front and back
ends. So commit: calls
self client autoCommitSomeObjectClass: self
and
#autoCommitSomeObjectClass: anObject
calls
db autoCommitSomeOnectClass: anObject
This gives you enough hooks to provide customisable behaviour
per-client-installation and per-database-backend, including mock
behaviour for testing.
Keith