Developer Notes
2012-04-07 | Toplevel DSLs
If it were not for Ruby's mixing toplevel definitions into all
objects, I likely would have used the simpler design of
just loading the config files directly (via #load
).
It's dissapointing that Ruby continues to insist on mixing toplevel methods into all objects. It would be much easier to write script DSLs if it did not, saving a good bit of code. In this case, for instance, I probably could have shaved off 20% to 40% of the current code --neither the Config or the Configuration class would be needed, and the parser could be stripped down to just enough code to collect a list of profiles since that is all it would really be useful for then.
2012-04-05 | Multiple Configurations
Should multiple definitions for the same tool and profile be allowed?
config :qed, :cov do
...
end
config :qed, :cov do
...
end
configuration.invoke(:qed, :cov)
Should both definitions be called, or just the later? I have decide
that both will be called. If this becomes a concern, I may add a #reconfig
method which would first clear the list of matching configurations.