Config-Model-Itself
view release on metacpan or search on metacpan
lib/Config/Model/Itself.pm view on Meta::CPAN
use strict;
use warnings;
use feature qw/postderef signatures/;
no warnings qw/experimental::postderef experimental::signatures/;
use Config::Model 2.157;
use IO::File ;
use Log::Log4perl 1.11;
use Carp ;
use Data::Dumper ;
use Scalar::Util qw/weaken/;
use Data::Compare ;
use Path::Tiny 0.125; # for mkdir
my $logger = Log::Log4perl::get_logger("Backend::Itself");
subtype 'ModelPathTiny' => as 'Object' => where { $_->isa('Path::Tiny') };
coerce 'ModelPathTiny' => from 'Str' => via {path($_)} ;
# find all .pl file in model_dir and load them...
lib/Config/Model/Itself.pm view on Meta::CPAN
my $self = shift;
my $md = $self->cm_lib_dir->child('models');
$md->mkdir;
return $md;
}
sub BUILD {
my $self = shift;
# avoid memory cycle
weaken($self);
my $cb = sub {
my %args = @_ ;
my $p = $args{path} || '' ;
return unless $p =~ /^class/ ;
return unless $args{index}; # may be empty when class order is changed
return if $self->class_was_changed($args{index}) ;
$logger->info("class $args{index} was modified");
$self->add_modified_class($args{index}) ;
( run in 0.785 second using v1.01-cache-2.11-cpan-39bf76dae61 )