Name
PGXN::Meta::Validator - Validate PGXN distribution metadata structures
Synopsis
my $struct = decode_json_file('META.json');
my $pmv = PGXN::Meta::Validator->new( $struct );
unless ( $pmv->is_valid ) {
my $msg = "Invalid META structure. Errors found:\n";
$msg .= join( "\n", $pmv->errors );
die $msg;
}
Description
This module validates a PGXN Meta structure against the version of the the specification claimed in the meta-spec
field of the structure. Currently, there is only v1.0.0.
Interface
Constructors
new
my $pmv = PGXN::Meta::Validator->new( $struct )
The constructor must be passed a metadata structure.
load_file
my $meta = PGXN::Meta::Validator->load_file('META.json');
Reads in the specified JSON file and passes the resulting data structure to new()
, returning the resulting PGXN::Meta::Validator object. An exception will be thrown if the file does not exist or if its contents are not valid JSON.
Class Method
version_string
say 'PGXN::Meta::Validator ', PGXN::Meta::Validator->version_string;
Returns a string representation of the PGXN::Meta::Validator version.
Instance Methods
is_valid
if ( $pmv->is_valid ) {
...
}
Returns a boolean value indicating whether the metadata provided is valid.
errors
warn( join "\n", $pmv->errors );
Returns a list of errors seen during validation.
Support
This module is stored in an open GitHub repository. Feel free to fork and contribute!
Please file bug reports via GitHub Issues or by sending mail to bug-PGXN-Meta@rt.cpan.org.