-
Notifications
You must be signed in to change notification settings - Fork 277
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/new config system #1636
Conversation
Signed-off-by: Mikko Johannes Koivunalho <[email protected]>
0636e45
to
1746c5f
Compare
I started reviewing this and stopped because it's a bit difficult. There are movements done between files with some renaming and I need to keep going back-and-forth to see what was moved, what was altered, etc. There is no explanation in the commit. I started with comments, then saw this was the original code copied, etc. I would have preferred this to be done either with several commits - each accomplishing one clear thing, or with a description with the commits of what they're doing. (Commits that both move code and change the code are some of the most difficult to properly review and that's when multiple commits are really useful.) I'll start with a few small comments and try to review it more thoroughly meanwhile.
|
Here is partial coverage of what this PR does:
This feels like a bit of a maze and I'm still making sense of it. A map would be useful. :) |
Thanks for the summarisation there @xsawyerx - definitely makes it easier for other reviewers, kudos. In general, it seems like a good idea allowing much more flexibility in config reading - thanks @mikkoi for your work! I'll try to review in more detail as soon as I get some free time. I think it could do with a bit more documentation adding - i.e. documenting in the new D2::Core::ConfigReader::FileSimple that it is the original file-based config reader, and briefly documenting in D2::Core::Role::ConfigReader how to implement custom config readers based on it. My understanding from a quick review is that the basic idea is for |
I agree, it confuses when one commit has both file renames and changes. Also removed "Ye Olde Config Reader." and renamed FileSimple to File::Simple. |
I am wondering if I should have named |
I appreciate the new PR very much. I think we can close this one in favor of that. I was able to review it, provide comments, and a summary of what I think we should do next. |
Development moved to #1637 |
Completely new design for the config system.
Config are loaded by classes which implement the role
Dancer2::Core::Role::ConfigReader
.User can create custom classes to use instead of
Dancer2::ConfigReader::FileSimple
.Custom classes are activated via env var
DANCER_CONFIG_READERS
.