{"action":"created","issue":{"url":"https://api.github.com/repos/CruGlobal/fe/issues/60","labels_url":"https://api.github.com/repos/CruGlobal/fe/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/CruGlobal/fe/issues/60/comments","events_url":"https://api.github.com/repos/CruGlobal/fe/issues/60/events","html_url":"https://github.com/CruGlobal/fe/pull/60","id":115554016,"number":60,"title":"use has_answer? in conditional_match","user":{"login":"andrewroth","id":13490,"avatar_url":"https://avatars.githubusercontent.com/u/13490?v=3","gravatar_id":"","url":"https://api.github.com/users/andrewroth","html_url":"https://github.com/andrewroth","followers_url":"https://api.github.com/users/andrewroth/followers","following_url":"https://api.github.com/users/andrewroth/following{/other_user}","gists_url":"https://api.github.com/users/andrewroth/gists{/gist_id}","starred_url":"https://api.github.com/users/andrewroth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrewroth/subscriptions","organizations_url":"https://api.github.com/users/andrewroth/orgs","repos_url":"https://api.github.com/users/andrewroth/repos","events_url":"https://api.github.com/users/andrewroth/events{/privacy}","received_events_url":"https://api.github.com/users/andrewroth/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-11-06T17:47:09Z","updated_at":"2015-11-07T01:14:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/CruGlobal/fe/pulls/60","html_url":"https://github.com/CruGlobal/fe/pull/60","diff_url":"https://github.com/CruGlobal/fe/pull/60.diff","patch_url":"https://github.com/CruGlobal/fe/pull/60.patch"},"body":"@twinge \r\n\r\nI didn't like how I was doing the display_response stuff with the joiner and how it was being used in conditional_match.  It seems strange in conditional_match how it was using desplay_response to join the answers together, then split again on \";\".  Also, if display_response rejects empty answers, I think we should just do that in responses, and then I can use the responses array in conditional_match (since empty answers are stripped out.  That was the only reason I was using display_response instead of has_answer?).  Using has_answer? is nice because it's already in FE so conditional_match can be simplified a lot.\r\n\r\nAlso cleaned up has_answer? a bit since it looks pretty old, and made it possible to check for multiple answers at once by passing in an array.\r\n\r\ndisplay_response also has a humanize parameter that will make it easier for me to handle choice fields that store ids as answers.  Because of the concerns modules and extending classes, I was having problems overriding display_response.. sometimes super() was going to the Fe::Question implementation instead of the concern implementation.  And the joiner optional parameter was making it even more complicated to try to add a third parameter (humanize)."},"comment":{"url":"https://api.github.com/repos/CruGlobal/fe/issues/comments/154594060","html_url":"https://github.com/CruGlobal/fe/pull/60#issuecomment-154594060","issue_url":"https://api.github.com/repos/CruGlobal/fe/issues/60","id":154594060,"user":{"login":"twinge","id":23668,"avatar_url":"https://avatars.githubusercontent.com/u/23668?v=3","gravatar_id":"","url":"https://api.github.com/users/twinge","html_url":"https://github.com/twinge","followers_url":"https://api.github.com/users/twinge/followers","following_url":"https://api.github.com/users/twinge/following{/other_user}","gists_url":"https://api.github.com/users/twinge/gists{/gist_id}","starred_url":"https://api.github.com/users/twinge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/twinge/subscriptions","organizations_url":"https://api.github.com/users/twinge/orgs","repos_url":"https://api.github.com/users/twinge/repos","events_url":"https://api.github.com/users/twinge/events{/privacy}","received_events_url":"https://api.github.com/users/twinge/received_events","type":"User","site_admin":false},"created_at":"2015-11-07T01:14:50Z","updated_at":"2015-11-07T01:14:50Z","body":"Where does `humanize` get used? Other than that nit, :+1: "}}