{"action":"created","issue":{"url":"https://api.github.com/repos/juttle/juttle/issues/413","repository_url":"https://api.github.com/repos/juttle/juttle","labels_url":"https://api.github.com/repos/juttle/juttle/issues/413/labels{/name}","comments_url":"https://api.github.com/repos/juttle/juttle/issues/413/comments","events_url":"https://api.github.com/repos/juttle/juttle/issues/413/events","html_url":"https://github.com/juttle/juttle/pull/413","id":134131441,"number":413,"title":"consolidated adapter api module","user":{"login":"demmer","id":3308504,"avatar_url":"https://avatars.githubusercontent.com/u/3308504?v=3","gravatar_id":"","url":"https://api.github.com/users/demmer","html_url":"https://github.com/demmer","followers_url":"https://api.github.com/users/demmer/followers","following_url":"https://api.github.com/users/demmer/following{/other_user}","gists_url":"https://api.github.com/users/demmer/gists{/gist_id}","starred_url":"https://api.github.com/users/demmer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/demmer/subscriptions","organizations_url":"https://api.github.com/users/demmer/orgs","repos_url":"https://api.github.com/users/demmer/repos","events_url":"https://api.github.com/users/demmer/events{/privacy}","received_events_url":"https://api.github.com/users/demmer/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/juttle/juttle/labels/in%20progress","name":"in progress","color":"ffa500"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-02-16T23:55:53Z","updated_at":"2016-02-17T19:55:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/juttle/juttle/pulls/413","html_url":"https://github.com/juttle/juttle/pull/413","diff_url":"https://github.com/juttle/juttle/pull/413.diff","patch_url":"https://github.com/juttle/juttle/pull/413.patch"},"body":"Implement the consolidated adapter API proposal in which the juttle runtime exports a single module containing the full adapter API as a global, thereby making it so that adapters should not need to require('juttle').\r\n\r\nDetailed changes are described in the commits, but a high-level summary includes:\r\n\r\n- Add a consolidated adapter API module that exports all core juttle functionality needed to implement the adapters.\r\n- Export this API as a global as part of loading the adapters and remove the now unneeded Module.load hijacking that was added in #134.\r\n- Load the adapter's package.json and check for a `juttleAdapterAPI' entry that contains the version of juttle with which the adapter should be compatible.\r\n- Add a `reducerDefaultValue` utility function to avoid exposing all the reducer implementation to the adapters just to get the empty value.\r\n- Add a facade around juttle-test-utils so adapters can simply `require('juttle/test').utils` instead of the gory path down into runtime/specs.\r\n- Add an `adapterDescribe` hook that functions just like mocha.describe but after setting the `JuttleAdapterAPI` global. This way adapter unit tests can still pull in portions of the implementation.\r\n\r\nResolves #367"},"comment":{"url":"https://api.github.com/repos/juttle/juttle/issues/comments/185376202","html_url":"https://github.com/juttle/juttle/pull/413#issuecomment-185376202","issue_url":"https://api.github.com/repos/juttle/juttle/issues/413","id":185376202,"user":{"login":"demmer","id":3308504,"avatar_url":"https://avatars.githubusercontent.com/u/3308504?v=3","gravatar_id":"","url":"https://api.github.com/users/demmer","html_url":"https://github.com/demmer","followers_url":"https://api.github.com/users/demmer/followers","following_url":"https://api.github.com/users/demmer/following{/other_user}","gists_url":"https://api.github.com/users/demmer/gists{/gist_id}","starred_url":"https://api.github.com/users/demmer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/demmer/subscriptions","organizations_url":"https://api.github.com/users/demmer/orgs","repos_url":"https://api.github.com/users/demmer/repos","events_url":"https://api.github.com/users/demmer/events{/privacy}","received_events_url":"https://api.github.com/users/demmer/received_events","type":"User","site_admin":false},"created_at":"2016-02-17T19:55:33Z","updated_at":"2016-02-17T19:55:33Z","body":"Addressed all of @dmajda's comments and rebased on top of master. Will merge on green.\r\n"}}