| 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; |