{"action":"created","issue":{"url":"https://api.github.com/repos/jnunemaker/flipper/issues/116","repository_url":"https://api.github.com/repos/jnunemaker/flipper","labels_url":"https://api.github.com/repos/jnunemaker/flipper/issues/116/labels{/name}","comments_url":"https://api.github.com/repos/jnunemaker/flipper/issues/116/comments","events_url":"https://api.github.com/repos/jnunemaker/flipper/issues/116/events","html_url":"https://github.com/jnunemaker/flipper/pull/116","id":149951189,"number":116,"title":"Create Flipper#Api","user":{"login":"AlexWheeler","id":3260042,"avatar_url":"https://avatars.githubusercontent.com/u/3260042?v=3","gravatar_id":"","url":"https://api.github.com/users/AlexWheeler","html_url":"https://github.com/AlexWheeler","followers_url":"https://api.github.com/users/AlexWheeler/followers","following_url":"https://api.github.com/users/AlexWheeler/following{/other_user}","gists_url":"https://api.github.com/users/AlexWheeler/gists{/gist_id}","starred_url":"https://api.github.com/users/AlexWheeler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AlexWheeler/subscriptions","organizations_url":"https://api.github.com/users/AlexWheeler/orgs","repos_url":"https://api.github.com/users/AlexWheeler/repos","events_url":"https://api.github.com/users/AlexWheeler/events{/privacy}","received_events_url":"https://api.github.com/users/AlexWheeler/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-04-21T03:24:32Z","updated_at":"2016-04-23T13:45:53Z","closed_at":"2016-04-23T13:45:47Z","pull_request":{"url":"https://api.github.com/repos/jnunemaker/flipper/pulls/116","html_url":"https://github.com/jnunemaker/flipper/pull/116","diff_url":"https://github.com/jnunemaker/flipper/pull/116.diff","patch_url":"https://github.com/jnunemaker/flipper/pull/116.patch"},"body":"* Sets up Flipper#Api module\r\n* version namespaced\r\n* moves action_collection out of UI namespace and into flipper since imho abstract enough \r\n- api gemspec\r\n- api middleware\r\n- api action\r\n- api boolean gate\r\n- api boolean gate spec\r\n\r\ncreates Flipper::Api::App so that can return status code other than 200 when action class is not found for requested URI.\r\n\r\nOnly thing I'm not sure about is what to do about decorators.  UI::Feature / UI::Gate have the logic we need and nothing really extra.  We could copy/paste those and namespace under API::V1, but feels crappy doing that, at same time don't want to rely too much on them since their logic could change.  With that said the logic is pretty minimal and mostly display logic.  Thinking of making a base class Decorators::Feature / Decorators::Gate and then Api versions could inherit and just override the as_json method and UI::Decorators::Feature/Gate could just not override and let that base decorator respond?  Interested in others opinions?\r\n\r\nOnce decide on this can finish api#boolean_gate spec, which will probably just respond w/ the serialized feature"},"comment":{"url":"https://api.github.com/repos/jnunemaker/flipper/issues/comments/213743783","html_url":"https://github.com/jnunemaker/flipper/pull/116#issuecomment-213743783","issue_url":"https://api.github.com/repos/jnunemaker/flipper/issues/116","id":213743783,"user":{"login":"jnunemaker","id":235,"avatar_url":"https://avatars.githubusercontent.com/u/235?v=3","gravatar_id":"","url":"https://api.github.com/users/jnunemaker","html_url":"https://github.com/jnunemaker","followers_url":"https://api.github.com/users/jnunemaker/followers","following_url":"https://api.github.com/users/jnunemaker/following{/other_user}","gists_url":"https://api.github.com/users/jnunemaker/gists{/gist_id}","starred_url":"https://api.github.com/users/jnunemaker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jnunemaker/subscriptions","organizations_url":"https://api.github.com/users/jnunemaker/orgs","repos_url":"https://api.github.com/users/jnunemaker/repos","events_url":"https://api.github.com/users/jnunemaker/events{/privacy}","received_events_url":"https://api.github.com/users/jnunemaker/received_events","type":"User","site_admin":true},"created_at":"2016-04-23T13:45:53Z","updated_at":"2016-04-23T13:45:53Z","body":"Works for me. Merged."}}