Config-Yak
view release on metacpan or search on metacpan
lib/Config/Yak.pm view on Meta::CPAN
package Config::Yak;
{
$Config::Yak::VERSION = '0.23';
}
BEGIN {
$Config::Yak::AUTHORITY = 'cpan:TEX';
}
# ABSTRACT: a tree-based versatile config handler
use 5.010_000;
use mro 'c3';
use feature ':5.10';
use Moose;
use Moose::Util::TypeConstraints;
use namespace::autoclean;
use IO::Handle;
use autodie;
use Config::Any;
use Config::Tiny;
use Hash::Merge;
use Data::Dumper;
use Try::Tiny;
use Data::Structure::Util qw();
subtype 'ArrayRefOfStr',
as 'ArrayRef[Str]';
coerce 'ArrayRefOfStr',
from 'Str',
via { [ $_ ] };
extends 'Data::Tree' => { -version => 0.16 };
has 'locations' => (
'is' => 'rw',
'isa' => 'ArrayRefOfStr',
'coerce' => 1,
'required' => 1,
);
has 'last_ts' => (
'is' => 'rw',
'isa' => 'Num',
'default' => 0,
);
has 'files_read' => (
'is' => 'rw',
'isa' => 'ArrayRef[Str]',
'default' => sub { [] },
);
sub config {
my $self = shift;
my $arg = shift;
if ( defined($arg) ) {
return $self->data($arg);
}
else {
return $self->data();
}
} ## end sub config
sub _init_debug {
my $self = shift;
if($ENV{'CONFIG_YAK_DEBUG'}) {
return 1;
}
return 0;
}
############################################
# THIS METHOD IS NOT PART OF OUR PUBLIC API!
# Usage :
# Purpose :
# Returns :
# Parameters :
# Throws : no exceptions
# Comments : none
( run in 1.080 second using v1.01-cache-2.11-cpan-5837b0d9d2c )