mLewisLogic/saddle — pull request #4 by mLewisLogic (2013-09-16 20:32:57+00:00)
Title: 0.0.44: BUGFIX - traversal tree structure only attaches to instances

# What? Why?
The bug: When 2 concrete implementations were instantiated, and they both had traversal paths of the same name attached to the root node, the most recent would overwrite the previous client's traversal.

Why? We were attaching traversal children to the endpoint class itself. In all but the root case, this was not harmful (though not correct), because the endpoint class was specific to that client. The root node, however, is always an instance of Saddle::TraversalEndpoint, allowing cross-contamination.

The fix: The traversal path is now being attached to endpoint instances, never classes. For additional isolation, I've also introduced a specific class for root nodes.

# How was it tested?
In console, by instantiating 2 clients that shared the same name traversal path, both attached to the root node. It worked as expected.

cc: @rasmusrygaard @nelgau @naseem