version 1.4, 2011/03/21 05:01:33 |
version 1.5, 2011/03/21 18:36:59 |
|
|
|
|
use 5.010; |
use 5.010; |
|
|
use YAML::Any qw/ LoadFile /; |
use YAML::Any qw/ LoadFile Dump Load /; |
|
|
sub new { |
sub new { |
my ( $class, $args ) = @_; |
my ( $class, $args ) = @_; |
|
|
my $self = { file => '', }; |
my $self = { file => '', }; |
bless $self, $class; |
bless $self, $class; |
|
|
my $file = $args->{file} || $self->_find_config; |
my $file = $args->{file} || $self->_find_config; |
$self->read_config($file); |
$self->read_config($file); |
|
|
|
|
if ( $c->{default} ) { |
if ( $c->{default} ) { |
foreach my $cust ( @{ $c->{customers} } ) { |
foreach my $cust ( @{ $c->{customers} } ) { |
foreach my $k ( keys %{ $c->{default} } ) { |
foreach my $k ( keys %{ $c->{default} } ) { |
$cust->{$k} //= $c->{default}->{$k}; |
$cust->{$k} //= Load( Dump( $c->{default}->{$k} ) ); |
} |
} |
} |
} |
} |
} |
|
|
|
|
sub get { |
sub get { |
my ( $self, $key ) = @_; |
my ( $self, $key ) = @_; |
|
return Load( Dump( $self->{_config}->{$key} ) ); |
# XXX This should deep copy? not a reference would be good |
|
return $self->{_config}->{$key}; |
|
} |
} |
|
|
package RTI::State; |
package RTI::State; |