Provided by: libtest-cpan-meta-yaml-perl_0.25-1_all bug

NAME

       Test::CPAN::Meta::YAML::Version - Validate CPAN META data against the specification

SYNOPSIS

         use Test::CPAN::Meta::YAML::Version;

DESCRIPTION

       This module was written to ensure that a META.yml file, provided with a standard distribution uploaded to
       CPAN, meets the specifications that are slowly being introduced to module uploads, via the use of
       ExtUtils::MakeMaker, Module::Build and Module::Install.

       This module is meant to be used together with Test::CPAN::Meta::YAML, however the code is self contained
       enough that you can access it directly.

       See CPAN::Meta for further details of the CPAN Meta Specification.

ABSTRACT

       Validation of META.yml data against the CPAN Meta Specification.

CLASS CONSTRUCTOR

       •   new( data => $data [, spec => $version] )

           The constructor must be passed a valid data structure.

           Optionally  you may also provide a specification version. This version is then use to ensure that the
           given data structure meets the respective specification definition. If no  version  is  provided  the
           module will attempt to deduce the appropriate specification version from the data structure itself.

METHODS

   Main Methodsparse()

           Using  the  given  data  structure  provided  with  the  constructor,  attempts to parse and validate
           according to the appropriate specification definition.

           Returns 1 if any errors found, otherwise returns 0.

       •   errors()

           Returns a list of the errors found during parsing.

   Check Methods
       •   check_map($spec,$data)

           Checks whether a map (or hash) part of the data structure conforms to the  appropriate  specification
           definition.

       •   check_list($spec,$data)

           Checks whether a list (or array) part of the data structure conforms to the appropriate specification
           definition.

   Validator Methods
       •   header($self,$key,$value)

           Validates that the YAML header is valid.

           Note: No longer used as we now read the YAML data structure, not the file.

       •   url($self,$key,$value)

           Validates that a given value is in an acceptable URL format

       •   urlspec($self,$key,$value)

           Validates that the URL to a META.yml specification is a known one.

       •   string_or_undef($self,$key,$value)

           Validates  that  the value is either a string or an undef value. Bit of a catchall function for parts
           of the data structure that are completely user defined.

       •   string($self,$key,$value)

           Validates that a string exists for the given key.

       •   file($self,$key,$value)

           Validate that a file is passed for the given key. This may be made more thorough in the  future.  For
           now it acts like \&string.

       •   exversion($self,$key,$value)

           Validates a list of versions, e.g. '<= 5, >=2, ==3, !=4, >1, <6, 0'.

       •   version($self,$key,$value)

           Validates  a  single  version  string.  Versions  of the type '5.8.8' and '0.00_00' are both valid. A
           leading 'v' like 'v1.2.3' is also valid.

       •   boolean($self,$key,$value)

           Validates for a boolean value. Currently these values are '1',  '0',  'true',  'false',  however  the
           latter 2 may be removed.

       •   license($self,$key,$value)

           Validates  that a value is given for the license. Returns 1 if an known license type, or 2 if a value
           is given but the license type is not a recommended one.

       •   resource($self,$key,$value)

           Validates that the given key is in CamelCase, to indicate a user defined keyword.

       •   keyword($self,$key,$value)

           Validates that key is in an acceptable format  for  the  META.yml  specification,  i.e.  any  in  the
           character class [-_a-z].

           For  user  defined  keys,  although  not  explicitly  stated in the specifications (v1.0 - v1.4), the
           convention is to precede the key with a pattern matching qr{\Ax_}i. Following this any character from
           the character class [-_a-zA-Z] can be used.  This  clarification  has  been  added  to  v2.0  of  the
           specification.

       •   identifier($self,$key,$value)

           Validates that key is in an acceptable format for the META.yml specification, for an identifier, i.e.
           any that matches the regular expression qr/[a-z][a-z_]/i.

       •   module($self,$key,$value)

           Validates    that    a    given    key    is    in   an   acceptable   module   name   format,   e.g.
           'Test::CPAN::Meta::YAML::Version'.

       •   anything($self,$key,$value)

           Usually reserved for user defined structures, allowing them to be considered valid without a need for
           a specification definition for the structure.

BUGS, PATCHES & FIXES

       There are no known bugs at the time of this release. However, if you  spot  a  bug  or  are  experiencing
       difficulties that are not explained within the POD documentation, please send an email to barbie@cpan.org
       or  submit a bug to the RT system (http://rt.cpan.org/Public/Dist/Display.html?Name=Test-CPAN-Meta-YAML).
       However, it would help greatly if you are able to pinpoint problems or even supply a patch.

       Fixes are dependent upon their severity and my availability. Should a fix not be forthcoming, please feel
       free to (politely) remind me.

AUTHOR

       Barbie, <barbie@cpan.org> for Miss Barbell Productions, <http://www.missbarbell.co.uk>

COPYRIGHT AND LICENSE

         Copyright (C) 2007-2015 Barbie for Miss Barbell Productions

         This distribution is free software; you can redistribute it and/or
         modify it under the Artistic Licence v2.

perl v5.20.2                                       2015-05-06               Test::CPAN::Meta::YAML::Version(3pm)