Gibbler: Git-like Hashes and History for Ruby Objects
gibbler method on an object will produce a 40 character git-like SHA1 hash (or you can use
gibbler.short to get just the first 8 chars).
my_object.gibbler.short # => 4c558a56
Gibbler can also track changes to an object. Every time you call
gibbler_commit, it will create a clone of the current object and store it in an instance variable. And just like with git, you can view or revert to any version in the history. By default Gibbler supports history for Hashes, Arrays and Strings.
Get Gibbler and read the documentation on Github. Delano makes the disclaimer that his code is still very new and not particularly efficient (due to keeping everything in memory), but he invites others to play with it and submit patches.