ractivejs/ractive — pull request #571 by martypdx (2014-04-10 18:54:14+00:00)
Title: Initial fix for unrooted keypath expressions

__Not ready for merge!__

KeypathExpressions do not root correctly, meaning expressions like `{{#items:i}}{{foo[bar]}}{{/}}` don't work because `foo` does not get translated to `items..foo`.

Implemented additional `descriptor.r` resolveRef, resolution works including reassignment.

But unsure whether this could have been done by parent mustache instance. Varients of this logic are floating now around in three places: Mustache, ExpressionResolver, and KeypathExpressionResolver.

Not sure about unresolved path. I can't make it hit that branch via test (see added render tests).

Also don't think indexRef cases are covered. Certainly possible, though very edgy: `{{#obj:i}}{{i[bar]}}{{/}}` returns `o` for `{ obj: { foo: 'bar' } }`. Very edgy.