Closed davejlong closed 7 years ago
I'm starting the PR off of the hooks branch as this will probably be a 0.3.1
release. I will make sure that it will be backwards compatible to 0.3.0 (by creating an alias from the new Kitto.DSL
module to both the Kitto.Jobs.DSL
and Kitto.Hooks.DSL
modules).
Ebert has finished reviewing this Pull Request and has found:
You can see more details about this review at https://ebertapp.io/github/kittoframework/kitto/pulls/57.
I'm going to close this and #25 for now. I think we need to rethink how we can expand on the current running system so that we can expand with webhooks and whatever else the future may bring, but I don't think that conversation can happen within a PR.
This PR will replace the different registries and DSLs for hooks and jobs with a single registry and DSL used across both data source types.
The new implementation will replace the different registry for jobs and hooks with a single registry which manages different groups of data sources. The registry builds sub-registries, called source types, which define how data gets into a dashboard. The current source types being built in the new logic are jobs (both the Elixir and command implements) and hooks. The new implementation will also include a single DSL library to define both hooks and jobs using much of the same logic to inject helpers such as
Kitto.Notifier.Broadcast/2
into the data sources.Redefining the implementation of DSLs and registries will help to improve test ability and coverage as well as DRY up the code.