view release on metacpan or search on metacpan
lib/App/ZofCMS/Plugin/FormChecker.pm view on Meta::CPAN
if ( $rule->{must_match} ) {
return $self->_fail( $name, 'must_match_error', $rule )
if $value !~ /$rule->{must_match}/;
}
if ( $rule->{must_not_match} ) {
return $self->_fail( $name, 'must_not_match_error', $rule )
if $value =~ /$rule->{must_not_match}/;
}
if ( $rule->{code} ) {
return $self->_fail( $name, 'code_error', $rule )
unless $rule->{code}->( $value, map $self->$_, qw/template query config/ );
lib/App/ZofCMS/Plugin/FormChecker.pm view on Meta::CPAN
num_error => "Parameter $name must contain digits only",
min_error => "Parameter $name must be at least $rule->{min} characters long",
max_error => "Parameter $name cannot be longer than $rule->{max} characters",
code_error => "Parameter $name contains incorrect data",
must_match_error => "Parameter $name contains incorrect data",
must_not_match_error => "Parameter $name contains incorrect data",
param_error => "Parameter $name does not match parameter $rule->{param}",
either_or_error => "Parameter $name must contain data if other parameters are not set",
valid_values_error
=> "Parameter $name must be " . do {
my $last = pop @{ $rule->{valid_values} || [''] };
lib/App/ZofCMS/Plugin/FormChecker.pm view on Meta::CPAN
param3 => [ qw/optional num/ ],
param4 => {
optional => 1,
select => 1,
must_match => qr/foo|bar/,
must_not_match => qr/foos/,
must_match_error => 'Param4 must contain either foo or bar but not foos',
param => 'param2',
},
param5 => {
valid_values => [ qw/foo bar baz/ ],
lib/App/ZofCMS/Plugin/FormChecker.pm view on Meta::CPAN
param3 => [ qw/optional num/ ],
param4 => {
optional => 1,
select => 1,
must_match => qr/foo|bar/,
must_not_match => qr/foos/,
must_match_error => 'Param4 must contain either foo or bar but not foos',
},
param5 => {
valid_values => [ qw/foo bar baz/ ],
valid_values_error => 'Param5 must be foo, bar or baz',
lib/App/ZofCMS/Plugin/FormChecker.pm view on Meta::CPAN
param3 => [ qw/optional num/ ],
param4 => {
optional => 1,
select => 1,
must_match => qr/foo|bar/,
must_not_match => qr/foos/,
must_match_error => 'Param4 must contain either foo or bar but not foos',
},
param5 => {
valid_values => [ qw/foo bar baz/ ],
valid_values_error => 'Param5 must be foo, bar or baz',
lib/App/ZofCMS/Plugin/FormChecker.pm view on Meta::CPAN
name => 'Parameter', # the name of this param to use in error messages
num => 1, # value must be numbers-only
optional => 1, # parameter is optional
either_or => [ qw/foo bar baz/ ], # param or foo or bar or baz must be set
must_match => qr/foo/, # value must match given regex
must_not_match => qr/bar/, # value must NOT match the given regex
max => 20, # value must not exceed 20 characters in length
min => 3, # value must be more than 3 characters in length
valid_values => [ qw/foo bar baz/ ], # value must be one from the given list
code => sub { time() %2 }, # return from the sub determines pass/fail
select => 1, # flag for "filling", see no_fill key above
param => 'param1',
num_error => 'Numbers only!', # custom error if num rule failed
mandatory_error => '', # same for if parameter is missing and not optional.
must_match_error => '', # same for must_match rule
must_not_match_error => '', # same for must_not_match_rule
max_error => '', # same for max rule
min_error => '', # same for min rule
code_error => '', # same for code rule
either_or_error => '', # same for either_or rule
valid_values_error => '', # same for valid_values rule
lib/App/ZofCMS/Plugin/FormChecker.pm view on Meta::CPAN
must_match => qr/foo/,
Takes a regex (C<qr//>) as a value. The query parameter's value must match this regex.
=head4 C<must_not_match>
must_not_match => qr/bar/,
Takes a regex (C<qr//>) as a value. The query parameter's value must B<NOT> match this regex.
=head4 C<max>
lib/App/ZofCMS/Plugin/FormChecker.pm view on Meta::CPAN
must_match_error => 'Must match me!',
This is the error for C<must_match> rule. B<Defaults to:>
C<Parameter $name contains incorrect data>
=head4 C<must_not_match_error>
must_not_match_error => 'Cannot has me!',
This is the error for C<must_not_match> rule. B<Defaults to:>
C<Parameter $name contains incorrect data>
=head4 C<max_error>
max_error => 'Too long!',
view all matches for this distribution
view release on metacpan or search on metacpan
#@plural{@no_change} = @no_change;
#
#
#
#
#my @not_plural = (qw/
#Aries
#Charles
#Gonzales
#Hades
#Hercules
#thus
#various
#yes
#/);
#
#my %not_plural;
#
#@not_plural{@not_plural} = (1) x @not_plural;
#
#
#
#
#
#
#sub to_singular
#{
# my ($word) = @_;
# my $singular = $word;
# if (! $not_plural{$word}) {
# if ($plural{$word}) {
# $singular = $plural{$word};
# }
# elsif ($word =~ /s$/) {
# if ($word =~ /'s$/) {
# $tb->diag( "could not find $category message matching $regex" );
# _diag_msgs();
# }
#}
#
#sub does_not_contain_ok {
# my ( $self, $regex, $test_name ) = @_;
#
# local $Test::Builder::Level = $Test::Builder::Level + 1;
#
# $test_name ||= "log does not contain '$regex'";
# else {
# $tb->ok( 1, $test_name );
# }
#}
#
#sub category_does_not_contain_ok {
# my ( $self, $category, $regex, $test_name ) = @_;
#
# local $Test::Builder::Level = $Test::Builder::Level + 1;
#
# $test_name ||= "log for $category contains '$regex'";
#my @test_methods = qw(
# msgs
# clear
# contains_ok
# category_contains_ok
# does_not_contain_ok
# category_does_not_contain_ok
# empty_ok
# contains_only_ok
#);
#
#foreach my $name (@test_methods) {
view all matches for this distribution
view release on metacpan or search on metacpan
module_maker = "ModuleBuildTiny"
static_install = "auto"
[release]
branch = "main"
do_not_upload_to_cpan = 0
view all matches for this distribution
view release on metacpan or search on metacpan
t/boilerplate.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Test::Warnings;
sub not_in_file_ok {
my ($filename, %regex) = @_;
open( my $fh, '<', $filename )
or die "couldn't open $filename for reading: $!";
my %violated;
t/boilerplate.t view on Meta::CPAN
}
sub module_boilerplate_ok {
my ($module) = @_;
subtest $module => sub {
not_in_file_ok($module =>
'the great new $MODULENAME' => qr/ - The great new /,
'boilerplate description' => qr/Quick summary of what the module/,
'stub function definition' => qr/function[12]/,
'module description' => qr/One-line description of module/,
'description' => qr/A full description of the module/,
t/boilerplate.t view on Meta::CPAN
);
};
}
subtest 'README' => sub {
not_in_file_ok((-f 'README' ? 'README' : 'README.pod') =>
"The README is used..." => qr/The README is used/,
"'version information here'" => qr/to provide version information/,
);
};
subtest 'Changes' => sub {
not_in_file_ok(Changes =>
"placeholder date/time" => qr(Date/time)
);
};
module_boilerplate_ok('lib/App/aptperl.pm');
view all matches for this distribution
view release on metacpan or search on metacpan
t/helper.pm view on Meta::CPAN
return $autotest;
}
sub a_harness { return TAP::Harness->new }
sub a_harness_not_running_the_tests {
my $harness=a_harness();
$harness->expects('runtests');
return $harness;
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/boilerplate.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 3;
sub not_in_file_ok {
my ( $filename, %regex ) = @_;
open( my $fh, '<', $filename )
or die "couldn't open $filename for reading: $!";
my %violated;
t/boilerplate.t view on Meta::CPAN
}
}
sub module_boilerplate_ok {
my ($module) = @_;
not_in_file_ok(
$module => 'the great new $MODULENAME' => qr/ - The great new /,
'boilerplate description' => qr/Quick summary of what the module/,
'stub function definition' => qr/function[12]/,
);
}
TODO: {
local $TODO = "Need to replace the boilerplate text";
not_in_file_ok(
README => "The README is used..." => qr/The README is used/,
"'version information here'" => qr/to provide version information/,
);
not_in_file_ok( Changes => "placeholder date/time" => qr(Date/time) );
module_boilerplate_ok('lib/App/bk.pm');
}
view all matches for this distribution
view release on metacpan or search on metacpan
xt/boilerplate.t view on Meta::CPAN
use warnings;
use Test::More;
plan tests => 3;
sub not_in_file_ok {
my ($filename, %regex) = @_;
open( my $fh, '<', $filename )
or die "couldn't open $filename for reading: $!";
my %violated;
xt/boilerplate.t view on Meta::CPAN
}
}
sub module_boilerplate_ok {
my ($module) = @_;
not_in_file_ok($module =>
'the great new $MODULENAME' => qr/ - The great new /,
'boilerplate description' => qr/Quick summary of what the module/,
'stub function definition' => qr/function[12]/,
);
}
TODO: {
local $TODO = "Need to replace the boilerplate text";
not_in_file_ok(README =>
"The README is used..." => qr/The README is used/,
"'version information here'" => qr/to provide version information/,
);
not_in_file_ok(Changes =>
"placeholder date/time" => qr(Date/time)
);
module_boilerplate_ok('lib/App/bookmarks.pm');
view all matches for this distribution
view release on metacpan or search on metacpan
branch = "main"
hooks = [
"make -C script",
"make -C docs",
]
do_not_upload_to_cpan = 0
view all matches for this distribution
view release on metacpan or search on metacpan
t/boilerplate.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Test::Warnings;
sub not_in_file_ok {
my ($filename, %regex) = @_;
open( my $fh, '<', $filename )
or die "couldn't open $filename for reading: $!";
my %violated;
t/boilerplate.t view on Meta::CPAN
}
sub module_boilerplate_ok {
my ($module) = @_;
subtest $module => sub {
not_in_file_ok($module =>
'the great new $MODULENAME' => qr/ - The great new /,
'boilerplate description' => qr/Quick summary of what the module/,
'stub function definition' => qr/function[12]/,
'module description' => qr/One-line description of module/,
'description' => qr/A full description of the module/,
t/boilerplate.t view on Meta::CPAN
);
};
}
subtest 'README' => sub {
not_in_file_ok((-f 'README' ? 'README' : 'README.pod') =>
"The README is used..." => qr/The README is used/,
"'version information here'" => qr/to provide version information/,
);
};
subtest 'Changes' => sub {
not_in_file_ok(Changes =>
"placeholder date/time" => qr(Date/time)
);
};
module_boilerplate_ok('lib/App/chkfacl.pm');
view all matches for this distribution
view release on metacpan or search on metacpan
$opt_csv_delimiter ,
$opt_fullpath ,
$opt_json ,
$opt_md ,
$opt_match_f ,
$opt_not_match_f ,
$opt_match_d ,
$opt_not_match_d ,
$opt_skip_uniqueness ,
$opt_list_file ,
$opt_help ,
$opt_skip_win_hidden ,
$opt_read_binary_files ,
"csv_delimeter|csv-delimiter=s" => \$opt_csv_delimiter ,
"json" => \$opt_json ,
"md" => \$opt_md ,
"fullpath" => \$opt_fullpath ,
"match_f|match-f=s" => \$opt_match_f ,
"not_match_f|not-match-f=s" => \$opt_not_match_f ,
"match_d|match-d=s" => \$opt_match_d ,
"not_match_d|not-match-d=s" => \$opt_not_match_d ,
"list_file|list-file=s" => \$opt_list_file ,
"help" => \$opt_help ,
"skip_win_hidden|skip-win-hidden" => \$opt_skip_win_hidden ,
"read_binary_files|read-binary-files" => \$opt_read_binary_files ,
"sql=s" => \$opt_sql ,
$p_ignored{$file_L} = "--exclude-lang=$Lang_L";
$p_ignored{$file_R} = "--exclude-lang=$Lang_R";
next;
}
my $not_Filters_by_Language_Lang_LR = 0;
#print "file_LR = [$file_L] [$file_R]\n";
#print "Lang_LR = [$Lang_L] [$Lang_R]\n";
if (!(@{$Filters_by_Language{$Lang_L} }) or
!(@{$Filters_by_Language{$Lang_R} })) {
$not_Filters_by_Language_Lang_LR = 1;
}
if ($not_Filters_by_Language_Lang_LR) {
if (($Lang_L eq "(unknown)") or ($Lang_R eq "(unknown)")) {
$p_ignored{$fset_a}{$file_L} = "language unknown (#1)";
$p_ignored{$fset_b}{$file_R} = "language unknown (#1)";
} else {
$p_ignored{$fset_a}{$file_L} = "missing Filters_by_Language{$Lang_L}";
}
if ($opt_match_d) {
push @post_filter, $F if $F =~ m{$opt_match_d};
next;
}
if ($opt_not_match_d) {
if ($opt_fullpath and $F =~ m{$opt_not_match_d}) {
$Ignored{$F} = "--not-match-d=$opt_not_match_d";
next;
} elsif (basename($F) =~ m{$opt_not_match_d}) {
$Ignored{$F} = "--not-match-d (basename) =$opt_not_match_d";
next;
}
}
if ($opt_not_match_f) {
push @post_filter, $F unless basename($F) =~ m{$opt_not_match_f};
next;
}
push @post_filter, $F;
}
print "<- invoke_generator\n" if $opt_v > 2;
next if $F_or_D =~ /^\.{1,2}$/; # skip . and ..
if ($Exclude_Dir{$F_or_D}) {
$Ignored{$File::Find::name} = "--exclude-dir=$Exclude_Dir{$F_or_D}";
} else {
#printf " F_or_D=%-20s File::Find::name=%s\n", $F_or_D, $File::Find::name;
if ($opt_not_match_d) {
if ($opt_fullpath and $File::Find::name =~ m{$opt_not_match_d}) {
$Ignored{$File::Find::name} = "--not-match-d=$opt_not_match_d";
} elsif (!-d $F_or_D and basename($File::Find::name) =~ m{$opt_not_match_d}) {
$Ignored{$File::Find::name} = "--not-match-d (basename) =$opt_not_match_d";
} else {
push @ok, $F_or_D;
}
} else {
push @ok, $F_or_D;
if ($opt_fullpath) {
# look at as much of the path as is known
if ($opt_match_f ) {
return unless $File::Find::name =~ m{$opt_match_f};
}
if ($opt_not_match_f) {
return if $File::Find::name =~ m{$opt_not_match_f};
}
} else {
# only look at the basename
if ($opt_match_f ) { return unless /$opt_match_f/; }
if ($opt_not_match_f) { return if /$opt_not_match_f/; }
}
if ($opt_match_d ) { return unless $Dir =~ m{$opt_match_d} }
my $nBytes = -s $_ ;
if (!$nBytes) {
view all matches for this distribution
view release on metacpan or search on metacpan
bin/colorcoke view on Meta::CPAN
our $opt_random_r = 256;
our $opt_random_g = 256;
our $opt_random_b = 256;
our $opt_single_hex = 0;
our @opt_single_color = ();
#our @opt_do_not_modify = (0,7,15,232);
our @opt_do_not_modify = ();
if(!@ARGV) {
print "$APP $VERSION\n\n";
pod2usage(verbose => 1);
}
bin/colorcoke view on Meta::CPAN
'ansi' => \$opt_ansi_only,
'random' => \$opt_random,
'rr|rand-red:i' => \$opt_random_r,
'rg|rand-green:i' => \$opt_random_g,
'rb|rand-blue:i' => \$opt_random_b,
'no:i{1,}' => \@opt_do_not_modify,
'h|help' => sub { print "$APP $VERSION\n"; pod2usage(verbose => 1) },
'm|man' => sub { pod2usage(verbose => 3) and exit(0); },
'v|version' => sub { print "$APP v$VERSION\n" and exit(0); },
'debug' => \$DEBUG,
);
bin/colorcoke view on Meta::CPAN
my @colors = @_;
my $i = $opt_starting_point;
for my $color(@colors) {
unless($i ~~ @opt_do_not_modify) {
$color = substr($color, 0, 6);
print for values %{ set_xterm_color({ $i => $color }) };
if(($i +1) % 10 == 0) {
print bg($i, fg(0, sprintf(" %03d ", $i))), "\n";
}
view all matches for this distribution
view release on metacpan or search on metacpan
t/boilerplate.t view on Meta::CPAN
use 5.006;
use strict;
use warnings;
use Test::More tests => 3;
sub not_in_file_ok {
my ($filename, %regex) = @_;
open( my $fh, '<', $filename )
or die "couldn't open $filename for reading: $!";
my %violated;
t/boilerplate.t view on Meta::CPAN
}
}
sub module_boilerplate_ok {
my ($module) = @_;
not_in_file_ok($module =>
'the great new $MODULENAME' => qr/ - The great new /,
'boilerplate description' => qr/Quick summary of what the module/,
'stub function definition' => qr/function[12]/,
);
}
TODO: {
local $TODO = "Need to replace the boilerplate text";
not_in_file_ok(README =>
"The README is used..." => qr/The README is used/,
"'version information here'" => qr/to provide version information/,
);
not_in_file_ok(Changes =>
"placeholder date/time" => qr(Date/time)
);
module_boilerplate_ok('lib/App/cpackage.pm');
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Test/More.pm view on Meta::CPAN
{
$tb->_unoverload_str( \$e1, \$e2 );
# Either they're both references or both not.
my $same_ref = !( !ref $e1 xor !ref $e2 );
my $not_ref = ( !ref $e1 and !ref $e2 );
if( defined $e1 xor defined $e2 ) {
$ok = 0;
}
elsif( !defined $e1 and !defined $e2 ) {
inc/Test/More.pm view on Meta::CPAN
$ok = 0;
}
elsif( $same_ref and( $e1 eq $e2 ) ) {
$ok = 1;
}
elsif($not_ref) {
push @Data_Stack, { type => '', vals => [ $e1, $e2 ] };
$ok = 0;
}
else {
if( $Refs_Seen{$e1} ) {
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Test/More.pm view on Meta::CPAN
{
$tb->_unoverload_str( \$e1, \$e2 );
# Either they're both references or both not.
my $same_ref = !( !ref $e1 xor !ref $e2 );
my $not_ref = ( !ref $e1 and !ref $e2 );
if( defined $e1 xor defined $e2 ) {
$ok = 0;
}
elsif( !defined $e1 and !defined $e2 ) {
inc/Test/More.pm view on Meta::CPAN
$ok = 0;
}
elsif( $same_ref and( $e1 eq $e2 ) ) {
$ok = 1;
}
elsif($not_ref) {
push @Data_Stack, { type => '', vals => [ $e1, $e2 ] };
$ok = 0;
}
else {
if( $Refs_Seen{$e1} ) {
view all matches for this distribution
view release on metacpan or search on metacpan
t/data/build.moose.log view on Meta::CPAN
t/attributes/default_class_role_types.t .......................... ok
t/attributes/clone_weak.t ........................................ ok
t/attributes/default_undef.t ..................................... ok
t/attributes/delegation_and_modifiers.t .......................... ok
t/attributes/delegation_arg_aliasing.t ........................... ok
t/attributes/delegation_target_not_loaded.t ...................... ok
t/attributes/inherit_lazy_build.t ................................ ok
t/attributes/illegal_options_for_inheritance.t ................... ok
t/attributes/lazy_no_default.t ................................... ok
t/attributes/misc_attribute_coerce_lazy.t ........................ ok
t/attributes/method_generation_rules.t ........................... ok
t/data/build.moose.log view on Meta::CPAN
t/exceptions/traits.t ............................................ ok
t/exceptions/util.t .............................................. ok
t/exceptions/typeconstraints.t ................................... ok
t/immutable/apply_roles_to_immutable.t ........................... ok
t/immutable/buildargs.t .......................................... ok
t/immutable/constructor_is_not_moose.t ........................... ok
t/immutable/constructor_is_wrapped.t ............................. ok
t/immutable/default_values.t ..................................... ok
t/immutable/definition_context.t ................................. ok
t/immutable/immutable_constructor_error.t ........................ ok
t/immutable/immutable_destroy.t .................................. ok
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/cpanminus/fatscript.pm view on Meta::CPAN
$self->chdir($dir) if $dir;
if ($self->{scandeps}) {
return 1; # Don't check if dependencies are installed, since with --scandeps they aren't
}
my @not_ok = $self->unsatisfied_deps(@deps);
if (@not_ok) {
return 0, \@not_ok;
} else {
return 1;
}
}
lib/App/cpanminus/fatscript.pm view on Meta::CPAN
*JSON::PP::reftype = \&Scalar::Util::reftype;
*JSON::PP::refaddr = \&Scalar::Util::refaddr;
}
else{ # This code is from Sclar::Util.
# warn $@;
eval 'sub UNIVERSAL::a_sub_not_likely_to_be_here { ref($_[0]) }';
*JSON::PP::blessed = sub {
local($@, $SIG{__DIE__}, $SIG{__WARN__});
ref($_[0]) ? eval { $_[0]->a_sub_not_likely_to_be_here } : undef;
};
my %tmap = qw(
B::NULL SCALAR
B::HV HASH
B::AV ARRAY
view all matches for this distribution
view release on metacpan or search on metacpan
t/boilerplate.t view on Meta::CPAN
use warnings;
use Test::More;
use Test::Warnings;
use Data::Dumper qw/Dumper/;
sub not_in_file_ok {
my ($filename, %regex) = @_;
open( my $fh, '<', $filename )
or die "couldn't open $filename for reading: $!";
my %violated;
t/boilerplate.t view on Meta::CPAN
}
sub module_boilerplate_ok {
my ($module) = @_;
subtest $module => sub {
not_in_file_ok($module =>
'the great new $MODULENAME' => qr/ - The great new /,
'boilerplate description' => qr/Quick summary of what the module/,
'stub function definition' => qr/function[12]/,
'module description' => qr/One-line description of module/,
'description' => qr/A full description of the module/,
t/boilerplate.t view on Meta::CPAN
);
};
}
subtest 'README' => sub {
not_in_file_ok((-f 'README' ? 'README' : 'README.pod') =>
"The README is used..." => qr/The README is used/,
"'version information here'" => qr/to provide version information/,
);
};
subtest 'Changes' => sub {
not_in_file_ok(Changes =>
"placeholder date/time" => qr(Date/time)
);
};
module_boilerplate_ok('lib/App/cpanreports.pm');
view all matches for this distribution
view release on metacpan or search on metacpan
*JSON::PP::reftype = \&Scalar::Util::reftype;
*JSON::PP::refaddr = \&Scalar::Util::refaddr;
}
else{ # This code is from Sclar::Util.
# warn $@;
eval 'sub UNIVERSAL::a_sub_not_likely_to_be_here { ref($_[0]) }';
*JSON::PP::blessed = sub {
local($@, $SIG{__DIE__}, $SIG{__WARN__});
ref($_[0]) ? eval { $_[0]->a_sub_not_likely_to_be_here } : undef;
};
my %tmap = qw(
B::NULL SCALAR
B::HV HASH
B::AV ARRAY
view all matches for this distribution
view release on metacpan or search on metacpan
script/cpanurl view on Meta::CPAN
*App::cpanurl::JSON::PP::reftype = \&Scalar::Util::reftype;
*App::cpanurl::JSON::PP::refaddr = \&Scalar::Util::refaddr;
}
else{ # This code is from Sclar::Util.
# warn $@;
eval 'sub UNIVERSAL::a_sub_not_likely_to_be_here { ref($_[0]) }';
*App::cpanurl::JSON::PP::blessed = sub {
local($@, $SIG{__DIE__}, $SIG{__WARN__});
ref($_[0]) ? eval { $_[0]->a_sub_not_likely_to_be_here } : undef;
};
my %tmap = qw(
B::NULL SCALAR
B::HV HASH
B::AV ARRAY
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/cpm/Master.pm view on Meta::CPAN
sub fail {
my $self = shift;
my @fail_resolve = sort keys %{$self->{_fail_resolve}};
my @fail_install = sort keys %{$self->{_fail_install}};
my @not_installed = grep { !$self->{_fail_install}{$_->distfile} && !$_->installed } $self->distributions;
return if !@fail_resolve && !@fail_install && !@not_installed;
my $detector = App::cpm::CircularDependency->new;
for my $dist (@not_installed) {
my $req = $dist->requirements([qw(configure build test runtime)])->as_array;
$detector->add($dist->distfile, $dist->provides, $req);
}
$detector->finalize;
lib/App/cpm/Master.pm view on Meta::CPAN
my $msg = join " -> ", map { $self->distribution($_)->distvname } @circular;
local $self->{logger}{context} = $distvname;
$self->{logger}->log("Detected circular dependencies $msg");
$self->{logger}->log("Failed to install distribution");
}
for my $dist (sort { $a->distvname cmp $b->distvname } grep { !$detected->{$_->distfile} } @not_installed) {
local $self->{logger}{context} = $dist->distvname;
$self->{logger}->log("Failed to install distribution, "
."because of installing some dependencies failed");
}
my @fail_install_name = map { CPAN::DistnameInfo->new($_)->distvname || $_ } @fail_install;
my @not_installed_name = map { $_->distvname } @not_installed;
if (@fail_resolve || @fail_install_name) {
$self->{logger}->log("--");
$self->{logger}->log(
"Installation failed. "
. "The direct cause of the failure comes from the following packages/distributions; "
. "you may want to grep this log file by them:"
);
$self->{logger}->log(" * $_") for @fail_resolve, sort @fail_install_name;
}
{ resolve => \@fail_resolve, install => [sort @fail_install_name, @not_installed_name] };
}
sub tasks { values %{shift->{tasks}} }
sub add_task {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/depak.pm view on Meta::CPAN
}
}
$mpath //= Module::Path::More::module_path(module=>$mod);
unless (defined $mpath) {
if ($self->{skip_not_found}) {
log_info("Path for module '%s' not found, skipped", $mod);
next MOD_TO_ADD;
} else {
die "Can't find path for $mod\n";
}
lib/App/depak.pm view on Meta::CPAN
available.
_
tags => ['category:module-selection'],
},
skip_not_found => {
summary => 'Instead of dying, skip when module to add is not found',
'summary.alt.bool.not' => 'Instead of skipping, die when module to add is not found',
schema => ['bool'],
description => <<'_',
lib/App/depak.pm view on Meta::CPAN
my %args = @_;
my $self = __PACKAGE__->new(%args);
$self->{debug_keep_tempdir} //= $ENV{DEBUG_KEEP_TEMPDIR} // 0;
$self->{skip_not_found} //= $self->{include_prereq} ? 1:0;
my $tempdir = File::Temp::tempdir(CLEANUP => 0);
log_debug("Created tempdir %s", $tempdir);
$self->{tempdir} = $tempdir;
lib/App/depak.pm view on Meta::CPAN
=item * B<shebang> => I<str> (default: "/usr/bin/perl")
Set shebang lineE<sol>path.
=item * B<skip_not_found> => I<bool>
Instead of dying, skip when module to add is not found.
This option is useful when you use C<include_prereq>, because modules without its
own .pm files will also be included (CPAN indexes packages, including those that
view all matches for this distribution
view release on metacpan or search on metacpan
t/boilerplate.t view on Meta::CPAN
use strict;
use warnings;
use Test::More tests => 4 + 1;
use Test::NoWarnings;
sub not_in_file_ok {
my ($filename, %regex) = @_;
open( my $fh, '<', $filename )
or die "couldn't open $filename for reading: $!";
my %violated;
t/boilerplate.t view on Meta::CPAN
}
sub module_boilerplate_ok {
my ($module) = @_;
subtest $module => sub {
not_in_file_ok($module =>
'the great new $MODULENAME' => qr/ - The great new /,
'boilerplate description' => qr/Quick summary of what the module/,
'stub function definition' => qr/function[12]/,
'module description' => qr/One-line description of module/,
'description' => qr/A full description of the module/,
t/boilerplate.t view on Meta::CPAN
);
};
}
subtest 'README' => sub {
not_in_file_ok((-f 'README' ? 'README' : 'README.pod') =>
"The README is used..." => qr/The README is used/,
"'version information here'" => qr/to provide version information/,
);
};
subtest 'Changes' => sub {
not_in_file_ok(Changes =>
"placeholder date/time" => qr(Date/time)
);
};
module_boilerplate_ok('lib/App/devmode.pm');
view all matches for this distribution
view release on metacpan or search on metacpan
"MSWin32",
]
[release]
branch = "main"
do_not_upload_to_cpan = 0
view all matches for this distribution
view release on metacpan or search on metacpan
t/boilerplate.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Test::Warnings;
sub not_in_file_ok {
my ($filename, %regex) = @_;
open( my $fh, '<', $filename )
or die "couldn't open $filename for reading: $!";
my %violated;
t/boilerplate.t view on Meta::CPAN
}
sub module_boilerplate_ok {
my ($module) = @_;
subtest $module => sub {
not_in_file_ok($module =>
'the great new $MODULENAME' => qr/ - The great new /,
'boilerplate description' => qr/Quick summary of what the module/,
'stub function definition' => qr/function[12]/,
'module description' => qr/One-line description of module/,
'description' => qr/A full description of the module/,
t/boilerplate.t view on Meta::CPAN
);
};
}
subtest 'README' => sub {
not_in_file_ok((-f 'README' ? 'README' : 'README.pod') =>
"The README is used..." => qr/The README is used/,
"'version information here'" => qr/to provide version information/,
);
};
subtest 'Changes' => sub {
not_in_file_ok(Changes =>
"placeholder date/time" => qr(Date/time)
);
};
module_boilerplate_ok('bin/diffdir');
view all matches for this distribution
view release on metacpan or search on metacpan
inc/Test/More.pm view on Meta::CPAN
{
$tb->_unoverload_str( \$e1, \$e2 );
# Either they're both references or both not.
my $same_ref = !( !ref $e1 xor !ref $e2 );
my $not_ref = ( !ref $e1 and !ref $e2 );
if( defined $e1 xor defined $e2 ) {
$ok = 0;
}
elsif( !defined $e1 and !defined $e2 ) {
inc/Test/More.pm view on Meta::CPAN
$ok = 0;
}
elsif( $same_ref and( $e1 eq $e2 ) ) {
$ok = 1;
}
elsif($not_ref) {
push @Data_Stack, { type => '', vals => [ $e1, $e2 ] };
$ok = 0;
}
else {
if( $Refs_Seen{$e1} ) {
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/errnos.pm view on Meta::CPAN
=item * B<number.min> => I<int>
Only return records where the 'number' field is greater than or equal to specified value.
=item * B<number.not_in> => I<array[int]>
Only return records where the 'number' field is not in the specified values.
=item * B<number.xmax> => I<int>
lib/App/errnos.pm view on Meta::CPAN
=item * B<string.min> => I<str>
Only return records where the 'string' field is greater than or equal to specified value.
=item * B<string.not_contains> => I<str>
Only return records where the 'string' field does not contain specified text.
=item * B<string.not_in> => I<array[str]>
Only return records where the 'string' field is not in the specified values.
=item * B<string.xmax> => I<str>
view all matches for this distribution
view release on metacpan or search on metacpan
t/boilerplate.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Test::Warnings;
sub not_in_file_ok {
my ($filename, %regex) = @_;
open( my $fh, '<', $filename )
or die "couldn't open $filename for reading: $!";
my %violated;
t/boilerplate.t view on Meta::CPAN
}
sub module_boilerplate_ok {
my ($module) = @_;
subtest $module => sub {
not_in_file_ok($module =>
'the great new $MODULENAME' => qr/ - The great new /,
'boilerplate description' => qr/Quick summary of what the module/,
'stub function definition' => qr/function[12]/,
'module description' => qr/One-line description of module/,
'description' => qr/A full description of the module/,
t/boilerplate.t view on Meta::CPAN
);
};
}
subtest 'README' => sub {
not_in_file_ok((-f 'README' ? 'README' : 'README.pod') =>
"The README is used..." => qr/The README is used/,
"'version information here'" => qr/to provide version information/,
);
};
subtest 'Changes' => sub {
not_in_file_ok(Changes =>
"placeholder date/time" => qr(Date/time)
);
};
module_boilerplate_ok('bin/file-watch');
view all matches for this distribution
view release on metacpan or search on metacpan
lib/App/financeta/language.pm view on Meta::CPAN
my ($self, $got) = @_;
$got = '==' if ($got =~ /is|equals/i);
return { compare => $got};
}
sub got_not_op {
my ($self, $got) = @_;
$got = lc $got;
$got = '!' if $got eq 'not';
return { complement => $got };
}
view all matches for this distribution
view release on metacpan or search on metacpan
script/_finddo view on Meta::CPAN
#@plural{@no_change} = @no_change;
#
#
#
#
#my @not_plural = (qw/
#Aries
#Charles
#Gonzales
#Hades
#Hercules
script/_finddo view on Meta::CPAN
#thus
#various
#yes
#/);
#
#my %not_plural;
#
#@not_plural{@not_plural} = (1) x @not_plural;
#
#
#
#
#
script/_finddo view on Meta::CPAN
#
#sub to_singular
#{
# my ($word) = @_;
# my $singular = $word;
# if (! $not_plural{$word}) {
# if ($plural{$word}) {
# $singular = $plural{$word};
# }
# elsif ($word =~ /s$/) {
# if ($word =~ /'s$/) {
view all matches for this distribution
view release on metacpan or search on metacpan
script/_genpw-base56 view on Meta::CPAN
#@plural{@no_change} = @no_change;
#
#
#
#
#my @not_plural = (qw/
#Aries
#Charles
#Gonzales
#Hades
#Hercules
script/_genpw-base56 view on Meta::CPAN
#yes
#nucleus
#synchronous
#/);
#
#my %not_plural;
#
#@not_plural{@not_plural} = (1) x @not_plural;
#
#
#
#
#
script/_genpw-base56 view on Meta::CPAN
#
#sub to_singular
#{
# my ($word) = @_;
# my $singular = $word;
# if (! $not_plural{$word}) {
# if ($plural{$word}) {
# $singular = $plural{$word};
# }
# elsif ($word =~ /s$/) {
# if ($word =~ /'s$/) {
view all matches for this distribution