kittoframework / kitto

Kitto is a framework for interactive dashboards written in Elixir
http://kitto.io/dashboards/sample
MIT License
956 stars 58 forks source link

[WIP] Rewrite registry and DSLs #57

Closed davejlong closed 7 years ago

davejlong commented 7 years ago

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.

davejlong commented 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).

coveralls commented 7 years ago

Coverage Status

Coverage increased (+1.3%) to 87.859% when pulling ce474ba8b15b41c75d8d48529b83d4587a6b1017 on dsl-rewrite into e035f4c03974d4daf4e4851506659fdb384df30b on master.

coveralls commented 7 years ago

Coverage Status

Coverage increased (+1.3%) to 87.859% when pulling 63138a447faa9054f5c202bb136610ff47d287f6 on dsl-rewrite into e035f4c03974d4daf4e4851506659fdb384df30b on master.

zorbash commented 7 years ago

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.

davejlong commented 7 years ago

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.