Transaction-simple Released

transaction-simple version has been released!

Transaction::Simple provides a generic way to add active transaction
support to
objects. The transaction methods added by this module will work with
objects, excluding those that cannot be Marshal-ed (bindings, procedure
objects, IO instances, or singleton objects).

The transactions supported by Transaction::Simple are not associated
with any
sort of data store. They are “live” transactions occurring in memory on
object itself. This is to allow “test” changes to be made to an object
making the changes permanent.

Transaction::Simple can handle an “infinite” number of transaction
(limited only by memory). If I open two transactions, commit the second,
abort the first, the object will revert to the original version.

Transaction::Simple supports “named” transactions, so that multiple
levels of
transactions can be committed, aborted, or rewound by referring to the
appropriate name of the transaction. Names may be any object except nil.

Transaction groups are also supported. A transaction group is an object
that manages a group of objects as if they were a single object for the
of transaction management. All transactions for this group of objects
should be
performed against the transaction group object, not against individual
in the group.

Version 1.4.0 of Transaction::Simple adds a new post-rewind hook so that
complex graph objects of the type in tests/tc_broken_graph.rb can

Version just fixes a simple bug with #transaction method
during the deprecation warning.

Version is a small update for people who use Transaction::Simple
bundler (adding lib/transaction-simple.rb) and other scenarios where
having Hoe
as a runtime dependency (a bug fixed in Hoe several years ago, but not
in Transaction::Simple because it has not needed a re-release). All of
files internally have also been marked as UTF-8, ensuring full Ruby 1.9

Changes: / 2012-06-20

  • Bookkeeping release that fixes install in scenarios where the RubyGem
    indicated it had a runtime dependency on hoe. Thanks to Michael
    ( for the inspiration.
  • Marked all files as UTF-8.