Hi,

is there some library or approach how to do transactions in pharo?
And I don't mean database transactions, but directly in memory on Pharo
objects... e.g.

p := Person new.

transaction do: [
    p name: 'Nobody'.
    p age: 70.
] on: Error do: [
    transaction rollback.
].

self assert: p name equals: 'Nobody'.
self assert: p age equals: 70.

transaction do: [
    p name: 'Somebody'.
    p age: 1 / 0.
] on: Error do: [
    transaction rollback.
].

self assert: p name equals: 'Nobody'.
self assert: p age equals: 70.

Any pointers appreciated.

Thanks,
Peter

Reply via email to