{"action":"created","issue":{"url":"https://api.github.com/repos/greghaskins/spectrum/issues/77","repository_url":"https://api.github.com/repos/greghaskins/spectrum","labels_url":"https://api.github.com/repos/greghaskins/spectrum/issues/77/labels{/name}","comments_url":"https://api.github.com/repos/greghaskins/spectrum/issues/77/comments","events_url":"https://api.github.com/repos/greghaskins/spectrum/issues/77/events","html_url":"https://github.com/greghaskins/spectrum/pull/77","id":193322302,"number":77,"title":"Grand unified theory of hooks","user":{"login":"ashleyfrieze","id":5574729,"avatar_url":"https://avatars.githubusercontent.com/u/5574729?v=3","gravatar_id":"","url":"https://api.github.com/users/ashleyfrieze","html_url":"https://github.com/ashleyfrieze","followers_url":"https://api.github.com/users/ashleyfrieze/followers","following_url":"https://api.github.com/users/ashleyfrieze/following{/other_user}","gists_url":"https://api.github.com/users/ashleyfrieze/gists{/gist_id}","starred_url":"https://api.github.com/users/ashleyfrieze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ashleyfrieze/subscriptions","organizations_url":"https://api.github.com/users/ashleyfrieze/orgs","repos_url":"https://api.github.com/users/ashleyfrieze/repos","events_url":"https://api.github.com/users/ashleyfrieze/events{/privacy}","received_events_url":"https://api.github.com/users/ashleyfrieze/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-12-04T00:14:20Z","updated_at":"2016-12-04T02:45:21Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/greghaskins/spectrum/pulls/77","html_url":"https://github.com/greghaskins/spectrum/pull/77","diff_url":"https://github.com/greghaskins/spectrum/pull/77.diff","patch_url":"https://github.com/greghaskins/spectrum/pull/77.patch"},"body":"Still WIP at the moment - demonstrated purely by a replacement of the `let` function.\r\n\r\nI've reorganised the package structure, and I'm in the process of killing off all arounds/befores etc. First target - the humble `let`.\r\n\r\nCode coverage will not be 100% yet as there are unused features.\r\n\r\nIntended as a fix for #76 and #73. Eventually. Intended as a new platform on which to build #56 "},"comment":{"url":"https://api.github.com/repos/greghaskins/spectrum/issues/comments/264680653","html_url":"https://github.com/greghaskins/spectrum/pull/77#issuecomment-264680653","issue_url":"https://api.github.com/repos/greghaskins/spectrum/issues/77","id":264680653,"user":{"login":"ashleyfrieze","id":5574729,"avatar_url":"https://avatars.githubusercontent.com/u/5574729?v=3","gravatar_id":"","url":"https://api.github.com/users/ashleyfrieze","html_url":"https://github.com/ashleyfrieze","followers_url":"https://api.github.com/users/ashleyfrieze/followers","following_url":"https://api.github.com/users/ashleyfrieze/following{/other_user}","gists_url":"https://api.github.com/users/ashleyfrieze/gists{/gist_id}","starred_url":"https://api.github.com/users/ashleyfrieze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ashleyfrieze/subscriptions","organizations_url":"https://api.github.com/users/ashleyfrieze/orgs","repos_url":"https://api.github.com/users/ashleyfrieze/repos","events_url":"https://api.github.com/users/ashleyfrieze/events{/privacy}","received_events_url":"https://api.github.com/users/ashleyfrieze/received_events","type":"User","site_admin":false},"created_at":"2016-12-04T02:45:21Z","updated_at":"2016-12-04T02:45:21Z","body":"Highlights:\r\n\r\n- Large package structure change of the internal classes. There's now an `internal` and a `model` package into which detail has been stuck to hide\r\n- All the per-use-case implementation of befores, around, afters etc has been turned into a general purpose `hook` mechanism.\r\n  - to get the tests to pass, though, this mechanism has been twisted a bit\r\n  - hooks are now classified by where they run, rather than what they are\r\n  - helpers for before/after and around are there\r\n  - the way is paved for hooks that are suppliers, for which 'let' is an example\r\n  - JUnit rules would be an example and could now be implemented independently of `Spectrum` as just another plugin hook\r\n- The nature of notifyingblocks and other general purpose error handling has modified the error messages slightly\r\n- The way that hooks can stop execution means that some befores and afters don't happen the way they used to - what they do seems logical enough to me, though."}}
{"actor":{"display_login":"ashleyfrieze"}}