Subject: | CamelCase Resource Names |
Thanks for writing this module! It's pretty useful and I include it in
all of my distributions.
I'm not sure if this is really a bug. The problem is that the META-spec
is ambiguous when relating to resource names. It doesn't actually
specify that custom resources should be CamelCase. The specification says:
(Spec 1.1) [optional] {map} A mapping of any URL resources related to
this distribution. All-lower-case keys, such as homepage, license, and
bugtracker, are reserved by this specification, as they have
``official'' meanings defined here in this specification. If you'd like
to add your own ``special'' entries (like the ``MailingList'' entry
above), use at least one upper-case letter.
So it says "use at least one upper-case letter."
Assuming that they mean that we should use CamelCase, the definition of
CamelCase is ambiguous too.
The regular expression from Test::YAML::Meta::Version uses:
/^([A-Z][a-z]+)+$/
Assumes that all uppercase letters are succeeded by lowercase ones.
The case with abbreviations: ie, UseHTTPConnection vs UseHttpConnection
is a bit ambiguous and more of a matter of opinion.
So to comply with the spec, all one really needs is to include one
uppercase letter somewhere in the custom key names.
I would suggest making this additional requirement - the use of
CamelCase - relaxable using other parameters passed to the test script.
Cheers,
Jon