DateTime-Format-Builder
view release on metacpan or search on metacpan
lib/DateTime/Format/Builder.pm view on Meta::CPAN
my $parser = 'DateTime::Format::Builder::Parser';
sub verbose {
warn "Use of verbose() deprecated for the interim.";
1;
}
sub import {
my $class = shift;
$class->create_class( @_, class => (caller)[0] ) if @_;
}
sub create_class {
my $class = shift;
my %args = validate(
@_,
{
class => { type => SCALAR, default => (caller)[0] },
version => { type => SCALAR, optional => 1 },
verbose => { type => SCALAR | GLOBREF | GLOB, optional => 1 },
parsers => { type => HASHREF },
groups => { type => HASHREF, optional => 1 },
constructor =>
{ type => UNDEF | SCALAR | CODEREF, optional => 1 },
}
);
verbose( $args{verbose} ) if exists $args{verbose};
lib/DateTime/Format/Builder/Parser.pm view on Meta::CPAN
return $all_params if defined $all_params;
my %all_params = map {%$_} values %params;
$_->{optional} = 1 for values %all_params;
$all_params = \%all_params;
}
my %inverse;
sub valid_params {
my $self = shift;
my $from = (caller)[0];
my %args = @_;
$params{$from} = \%args;
for ( keys %args ) {
# %inverse contains keys matching all the
# possible params; values are the class if and
# only if that class is the only one that uses
# the given param.
$inverse{$_} = exists $inverse{$_} ? undef : $from;
}
( run in 1.209 second using v1.01-cache-2.11-cpan-1e74a51a04c )