{"issue":{"state":"closed","pull_request":{"diff_url":"https://github.com/Shopify/batman/pull/203.diff","html_url":"https://github.com/Shopify/batman/pull/203","patch_url":"https://github.com/Shopify/batman/pull/203.patch"},"user":{"avatar_url":"https://secure.gravatar.com/avatar/d28da594945b3665f6c06bd4e7dc8e10?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"d28da594945b3665f6c06bd4e7dc8e10","url":"https://api.github.com/users/sidonath","login":"sidonath","id":15397},"milestone":null,"assignee":null,"labels":[],"updated_at":"2011-11-02T18:14:19Z","comments":9,"closed_at":"2011-11-02T17:19:57Z","url":"https://api.github.com/repos/Shopify/batman/issues/203","body":"Hi all,\r\n\r\nI've ran into an issue while integrating Batman.js into an existing Rails app. I needed a method ending with ? to be bound to a view, but keypath_rx didn't want to recognize it. A patch that solves that with accompanied test is attached.\r\n\r\nNote:\r\n\r\nThe following test started faling in console after adding the tests to to the `encoders_test.coffee` (7f687a26, contains only test code). It seems to be completely unrelated, but I thought it may be worth mentioning:\r\n\r\n[Error][Batman.View loop rendering: it should render consecutive loops] \r\nAssertionError: [\"foo\",\"bar\",\"baz\",\"a\",\"b\",\"c\"] deepEqual [\"\",\"foo\",\"bar\",\"baz\",\"\"]\r\n    at tests/batman/view/loop_rendering_test.js:193:7","html_url":"https://github.com/Shopify/batman/issues/203","title":"Accept ruby methods with ?/! at the end","number":203,"id":2120499,"created_at":"2011-11-02T11:43:23Z"},"action":"created","comment":{"user":{"avatar_url":"https://secure.gravatar.com/avatar/eb658fffacf97d23cf7df98003d38017?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"eb658fffacf97d23cf7df98003d38017","url":"https://api.github.com/users/pvande","login":"pvande","id":2350},"updated_at":"2011-11-02T18:14:19Z","url":"https://api.github.com/repos/Shopify/batman/issues/comments/2607259","body":"@nciagra Honestly, the only way to do that would be to stop using dotted names as keypaths.  Either explicitly chained 'get's (`foo | get 'bar' | get 'baz'`) or an alternate pathing syntax (`foo/bar/baz`) would do it, but the cost doesn't seem worth it to me.\r\n\r\nThough, thinking a little further, it might be more obvious if keypaths were \"called out\" explicitly.  It's less fluent, but would effectively mask most of the confusing cases, and enable more complex expressions.  (Parsing also stands to be distinctly easier, too.)  E.g. `data-bind=\"{{ foo.bar.baz }}\"`, `data-foreach-x=\"[{{ foo }}, {{ bar }}, {{ baz.quxx | append 'baz.quxx' }}]\"`, `data-bind-style=\"{ color: {{ color.hex }} }\"`","id":2607259,"created_at":"2011-11-02T18:14:19Z"}}