aq1018/mongoid-history — pull request #65 by johnnyshields (2013-05-31 13:31:08+00:00)
Title: Polymorphic embedded support + test refactor + #tracked_changes and #tracked_edits methods

Hi, I've added the following features:

* Support for polymorphic embedded classes (merge of "getaroom" branch)

* Refactor of test code, by using lazy-loading (`#let`) and initializing classes only once, tests now run in half the time.

* New methods to `Trackable`:
* `#tracked_changes`: returns a hash in `{field: {to: val1, from: val2}}` format
* `#tracked_edits`: returns a hash in format:
```ruby
{add: {field: val}, remove: {field: val}, modify: {to: val1, from: val2}, array: {add: [val2], remove: [val1]}}` format; considers deep-array value comparison.