Show
Ignore:
Timestamp:
05/17/08 21:58:55 (6 years ago)
Author:
tomyhero
Message:

lang/perl/Config-Multi: FindBin::libs消し忘れてた。orz.

Location:
lang/perl/Config-Multi
Files:
8 modified
14 copied

Legend:

Unmodified
Added
Removed
  • lang/perl/Config-Multi/tags/0.02/Changes

    r11709 r11786  
    11Revision history for Config::Multi 
     2 
     30.02    2008-05-17/21:53 
     4        - remove use FindBin::libs; 
     5        - fix POD indent 
    26 
    370.01    2008-05-17/01:17 
  • lang/perl/Config-Multi/tags/0.02/lib/Config/Multi.pm

    r11710 r11786  
    66use File::Spec; 
    77use FindBin; 
    8 use Config::Any ; 
     8use Config::Any; 
    99use Carp; 
    1010 
    1111use base qw/Class::Accessor/; 
    1212 
    13 our $VERSION = '0.01'; 
     13our $VERSION = '0.02'; 
    1414 
    1515__PACKAGE__->mk_accessors(qw/app_name prefix dir files extension/); 
    1616 
    1717sub load { 
    18     my $self = shift; 
     18    my $self  = shift; 
    1919    my @files = (); 
    2020    $self->{extension} ||= 'yml'; 
    21     croak( 'you must set dir' ) unless $self->{dir}; 
    22     croak( 'you must set app_name' ) unless $self->{app_name}; 
     21    croak('you must set dir')      unless $self->{dir}; 
     22    croak('you must set app_name') unless $self->{app_name}; 
    2323 
    2424    my $config = {}; 
    2525 
    26     my $app_files    = $self->_find_files( $self->{app_name} ) ; 
     26    my $app_files = $self->_find_files( $self->{app_name} ); 
    2727    my $app = Config::Any->load_files( { files => $app_files } ); 
    28     for ( @{$app} ){ 
    29         my ($filename, $data) = %$_; 
    30         push @files , $filename; 
    31         $config = { %{$config}, %{$data} } ; 
    32     } 
    33  
    34     if( $self->{prefix} ) { 
    35         my $prefix_files = $self->_find_files( $self->{prefix} . '_' . $self->{app_name} ); 
    36         my $prefix =  Config::Any->load_files( { files => $prefix_files } ); 
    37         for ( @{$prefix} ){ 
    38             my ($filename, $data) = %$_; 
    39             push @files , $filename; 
    40             $config = { %{$config}, %{$data} } ; 
     28    for ( @{$app} ) { 
     29        my ( $filename, $data ) = %$_; 
     30        push @files, $filename; 
     31        $config = { %{$config}, %{$data} }; 
     32    } 
     33 
     34    if ( $self->{prefix} ) { 
     35        my $prefix_files 
     36            = $self->_find_files( $self->{prefix} . '_' . $self->{app_name} ); 
     37        my $prefix = Config::Any->load_files( { files => $prefix_files } ); 
     38        for ( @{$prefix} ) { 
     39            my ( $filename, $data ) = %$_; 
     40            push @files, $filename; 
     41            $config = { %{$config}, %{$data} }; 
    4142        } 
    4243    } 
    4344 
    4445    my $local_files = $self->_local_files; 
    45     my $local =  Config::Any->load_files( { files => $local_files } ); 
    46     for ( @{$local} ){ 
    47         my ($filename, $data) = %$_; 
    48         push @files , $filename; 
    49         $config = { %{$config}, %{$data} } ; 
     46    my $local = Config::Any->load_files( { files => $local_files } ); 
     47    for ( @{$local} ) { 
     48        my ( $filename, $data ) = %$_; 
     49        push @files, $filename; 
     50        $config = { %{$config}, %{$data} }; 
    5051    } 
    5152 
     
    5556} 
    5657 
    57  
    5858sub _local_files { 
    59     my $self = shift; 
    60     my $env_app_key    = 'CONFIG_MULTI_' .uc($self->{app_name})  ; 
    61     my $env_prefix_key = 'CONFIG_MULTI_' . uc($self->{prefix}) . '_' . uc($self->{app_name})  ; 
    62     my @files = (); 
    63     my $app_lcoal    = $ENV{ $env_app_key } || File::Spec->catfile( $self->dir ,  $self->{app_name} . '_local.' . $self->extension ) ; 
    64     push @files  , $app_lcoal if -e $app_lcoal; 
    65  
    66     if( $self->{prefix}) { 
    67         my $prefix_local = $ENV{ $env_prefix_key} || File::Spec->catfile( $self->dir ,  $self->{prefix} . '_' . $self->{app_name} . '_local.' . $self->extension ); 
    68         push @files  , $prefix_local if -e $prefix_local; 
     59    my $self        = shift; 
     60    my $env_app_key = 'CONFIG_MULTI_' . uc( $self->{app_name} ); 
     61    my $env_prefix_key 
     62        = 'CONFIG_MULTI_' 
     63        . uc( $self->{prefix} ) . '_' 
     64        . uc( $self->{app_name} ); 
     65    my @files     = (); 
     66    my $app_lcoal = $ENV{$env_app_key} 
     67        || File::Spec->catfile( $self->dir, 
     68        $self->{app_name} . '_local.' . $self->extension ); 
     69    push @files, $app_lcoal if -e $app_lcoal; 
     70 
     71    if ( $self->{prefix} ) { 
     72        my $prefix_local = $ENV{$env_prefix_key} || File::Spec->catfile( 
     73            $self->dir, 
     74            $self->{prefix} . '_' 
     75                . $self->{app_name} 
     76                . '_local.' 
     77                . $self->extension 
     78        ); 
     79        push @files, $prefix_local if -e $prefix_local; 
    6980    } 
    7081 
     
    7384 
    7485sub _find_files { 
    75     my $self = shift; 
    76     my $path = $self->dir; 
    77     my $label = shift; 
     86    my $self      = shift; 
     87    my $path      = $self->dir; 
     88    my $label     = shift; 
    7889    my $extension = $self->extension; 
    7990 
    8091    my @files; 
    81    my $dh = DirHandle->new( $path ) or croak "Could not Open " . $path ; 
     92    my $dh = DirHandle->new($path) or croak "Could not Open " . $path; 
    8293 
    8394    while ( my $file = $dh->read() ) { 
    8495        next if $file =~ /local\.$extension$/; 
    85         if( $file =~ /^$label\.yml$/ || $file =~ /^$label\_(\w+)\.$extension$/ ) { 
    86             push @files , "$path/$file"; 
     96        if (   $file =~ /^$label\.yml$/ 
     97            || $file =~ /^$label\_(\w+)\.$extension$/ ) 
     98        { 
     99            push @files, File::Spec->catfile( $path, $file ); 
    87100        } 
    88101    } 
     
    90103    return \@files; 
    91104} 
    92  
    93105 
    941061; 
     
    107119 
    108120 # prefix and extension is optional.  
    109  my $cm =  Config::Multi->new({dir => $dir , app_name => 'myapp' , prefix => 'web' , extension => 'yml' }); 
     121 my $cm  
     122        = Config::Multi->new({ 
     123            dir => $dir ,  
     124            app_name    => 'myapp' ,  
     125            prefix      => 'web' ,  
     126            extension   => 'yml'  
     127        }); 
    110128 my $config = $cm->load(); 
    111129 my $loaded_config_files = $cm->files; 
     
    121139=head2 your configuration files 
    122140 
    123   This is under your ~/myapp/conf/ and have sone yaml configuration in each files. you can specify the directory  
    124   using dir option. 
     141This is under your ~/myapp/conf/ and have yaml configuration in each files.  you can specify the directory using dir option. 
    125142 
    126143 . 
     
    184201 
    185202instead of ${prefix}_${app_name}_local.yml , you can specify the path with $ENV{CONFIG_MULTI_PREFIX_MYAPP} 
     203 
    186204instead of ${app_name}_local.yml , you can specify the path with $ENV{CONFIG_MULTI_MYAPP} 
    187205 
  • lang/perl/Config-Multi/tags/0.02/t/01-loadling.t

    r11708 r11786  
    1 use FindBin::libs; 
    21use Test::Base; 
    32use Config::Multi; 
  • lang/perl/Config-Multi/tags/0.02/t/02-overwrite.t

    r11667 r11786  
    1 use FindBin::libs; 
    21use Test::Base; 
    32use Config::Multi; 
  • lang/perl/Config-Multi/tags/0.02/t/03-multi.t

    r11667 r11786  
    1 use FindBin::libs; 
    21use Test::Base; 
    32use Config::Multi; 
  • lang/perl/Config-Multi/tags/0.02/t/04-env.t

    r11708 r11786  
    1 use FindBin::libs; 
    21use Test::Base; 
    32use Config::Multi; 
  • lang/perl/Config-Multi/tags/0.02/t/05-no-prefix.t

    r11710 r11786  
    1 use FindBin::libs; 
    21use Test::Base; 
    32use Config::Multi; 
  • lang/perl/Config-Multi/tags/0.02/t/spelling.t

    r11709 r11786  
    2727jobqueue 
    2828myapp 
    29 #     configration 
    30 #     jobqueue 
    31 #     myapp 
    32 #     overwrited 
     29yaml 
  • lang/perl/Config-Multi/trunk/Changes

    r11709 r11786  
    11Revision history for Config::Multi 
     2 
     30.02    2008-05-17/21:53 
     4        - remove use FindBin::libs; 
     5        - fix POD indent 
    26 
    370.01    2008-05-17/01:17 
  • lang/perl/Config-Multi/trunk/lib/Config/Multi.pm

    r11710 r11786  
    66use File::Spec; 
    77use FindBin; 
    8 use Config::Any ; 
     8use Config::Any; 
    99use Carp; 
    1010 
    1111use base qw/Class::Accessor/; 
    1212 
    13 our $VERSION = '0.01'; 
     13our $VERSION = '0.02'; 
    1414 
    1515__PACKAGE__->mk_accessors(qw/app_name prefix dir files extension/); 
    1616 
    1717sub load { 
    18     my $self = shift; 
     18    my $self  = shift; 
    1919    my @files = (); 
    2020    $self->{extension} ||= 'yml'; 
    21     croak( 'you must set dir' ) unless $self->{dir}; 
    22     croak( 'you must set app_name' ) unless $self->{app_name}; 
     21    croak('you must set dir')      unless $self->{dir}; 
     22    croak('you must set app_name') unless $self->{app_name}; 
    2323 
    2424    my $config = {}; 
    2525 
    26     my $app_files    = $self->_find_files( $self->{app_name} ) ; 
     26    my $app_files = $self->_find_files( $self->{app_name} ); 
    2727    my $app = Config::Any->load_files( { files => $app_files } ); 
    28     for ( @{$app} ){ 
    29         my ($filename, $data) = %$_; 
    30         push @files , $filename; 
    31         $config = { %{$config}, %{$data} } ; 
    32     } 
    33  
    34     if( $self->{prefix} ) { 
    35         my $prefix_files = $self->_find_files( $self->{prefix} . '_' . $self->{app_name} ); 
    36         my $prefix =  Config::Any->load_files( { files => $prefix_files } ); 
    37         for ( @{$prefix} ){ 
    38             my ($filename, $data) = %$_; 
    39             push @files , $filename; 
    40             $config = { %{$config}, %{$data} } ; 
     28    for ( @{$app} ) { 
     29        my ( $filename, $data ) = %$_; 
     30        push @files, $filename; 
     31        $config = { %{$config}, %{$data} }; 
     32    } 
     33 
     34    if ( $self->{prefix} ) { 
     35        my $prefix_files 
     36            = $self->_find_files( $self->{prefix} . '_' . $self->{app_name} ); 
     37        my $prefix = Config::Any->load_files( { files => $prefix_files } ); 
     38        for ( @{$prefix} ) { 
     39            my ( $filename, $data ) = %$_; 
     40            push @files, $filename; 
     41            $config = { %{$config}, %{$data} }; 
    4142        } 
    4243    } 
    4344 
    4445    my $local_files = $self->_local_files; 
    45     my $local =  Config::Any->load_files( { files => $local_files } ); 
    46     for ( @{$local} ){ 
    47         my ($filename, $data) = %$_; 
    48         push @files , $filename; 
    49         $config = { %{$config}, %{$data} } ; 
     46    my $local = Config::Any->load_files( { files => $local_files } ); 
     47    for ( @{$local} ) { 
     48        my ( $filename, $data ) = %$_; 
     49        push @files, $filename; 
     50        $config = { %{$config}, %{$data} }; 
    5051    } 
    5152 
     
    5556} 
    5657 
    57  
    5858sub _local_files { 
    59     my $self = shift; 
    60     my $env_app_key    = 'CONFIG_MULTI_' .uc($self->{app_name})  ; 
    61     my $env_prefix_key = 'CONFIG_MULTI_' . uc($self->{prefix}) . '_' . uc($self->{app_name})  ; 
    62     my @files = (); 
    63     my $app_lcoal    = $ENV{ $env_app_key } || File::Spec->catfile( $self->dir ,  $self->{app_name} . '_local.' . $self->extension ) ; 
    64     push @files  , $app_lcoal if -e $app_lcoal; 
    65  
    66     if( $self->{prefix}) { 
    67         my $prefix_local = $ENV{ $env_prefix_key} || File::Spec->catfile( $self->dir ,  $self->{prefix} . '_' . $self->{app_name} . '_local.' . $self->extension ); 
    68         push @files  , $prefix_local if -e $prefix_local; 
     59    my $self        = shift; 
     60    my $env_app_key = 'CONFIG_MULTI_' . uc( $self->{app_name} ); 
     61    my $env_prefix_key 
     62        = 'CONFIG_MULTI_' 
     63        . uc( $self->{prefix} ) . '_' 
     64        . uc( $self->{app_name} ); 
     65    my @files     = (); 
     66    my $app_lcoal = $ENV{$env_app_key} 
     67        || File::Spec->catfile( $self->dir, 
     68        $self->{app_name} . '_local.' . $self->extension ); 
     69    push @files, $app_lcoal if -e $app_lcoal; 
     70 
     71    if ( $self->{prefix} ) { 
     72        my $prefix_local = $ENV{$env_prefix_key} || File::Spec->catfile( 
     73            $self->dir, 
     74            $self->{prefix} . '_' 
     75                . $self->{app_name} 
     76                . '_local.' 
     77                . $self->extension 
     78        ); 
     79        push @files, $prefix_local if -e $prefix_local; 
    6980    } 
    7081 
     
    7384 
    7485sub _find_files { 
    75     my $self = shift; 
    76     my $path = $self->dir; 
    77     my $label = shift; 
     86    my $self      = shift; 
     87    my $path      = $self->dir; 
     88    my $label     = shift; 
    7889    my $extension = $self->extension; 
    7990 
    8091    my @files; 
    81    my $dh = DirHandle->new( $path ) or croak "Could not Open " . $path ; 
     92    my $dh = DirHandle->new($path) or croak "Could not Open " . $path; 
    8293 
    8394    while ( my $file = $dh->read() ) { 
    8495        next if $file =~ /local\.$extension$/; 
    85         if( $file =~ /^$label\.yml$/ || $file =~ /^$label\_(\w+)\.$extension$/ ) { 
    86             push @files , "$path/$file"; 
     96        if (   $file =~ /^$label\.yml$/ 
     97            || $file =~ /^$label\_(\w+)\.$extension$/ ) 
     98        { 
     99            push @files, File::Spec->catfile( $path, $file ); 
    87100        } 
    88101    } 
     
    90103    return \@files; 
    91104} 
    92  
    93105 
    941061; 
     
    107119 
    108120 # prefix and extension is optional.  
    109  my $cm =  Config::Multi->new({dir => $dir , app_name => 'myapp' , prefix => 'web' , extension => 'yml' }); 
     121 my $cm  
     122        = Config::Multi->new({ 
     123            dir => $dir ,  
     124            app_name    => 'myapp' ,  
     125            prefix      => 'web' ,  
     126            extension   => 'yml'  
     127        }); 
    110128 my $config = $cm->load(); 
    111129 my $loaded_config_files = $cm->files; 
     
    121139=head2 your configuration files 
    122140 
    123   This is under your ~/myapp/conf/ and have sone yaml configuration in each files. you can specify the directory  
    124   using dir option. 
     141This is under your ~/myapp/conf/ and have yaml configuration in each files.  you can specify the directory using dir option. 
    125142 
    126143 . 
     
    184201 
    185202instead of ${prefix}_${app_name}_local.yml , you can specify the path with $ENV{CONFIG_MULTI_PREFIX_MYAPP} 
     203 
    186204instead of ${app_name}_local.yml , you can specify the path with $ENV{CONFIG_MULTI_MYAPP} 
    187205 
  • lang/perl/Config-Multi/trunk/t/01-loadling.t

    r11708 r11786  
    1 use FindBin::libs; 
    21use Test::Base; 
    32use Config::Multi; 
  • lang/perl/Config-Multi/trunk/t/02-overwrite.t

    r11667 r11786  
    1 use FindBin::libs; 
    21use Test::Base; 
    32use Config::Multi; 
  • lang/perl/Config-Multi/trunk/t/03-multi.t

    r11667 r11786  
    1 use FindBin::libs; 
    21use Test::Base; 
    32use Config::Multi; 
  • lang/perl/Config-Multi/trunk/t/04-env.t

    r11708 r11786  
    1 use FindBin::libs; 
    21use Test::Base; 
    32use Config::Multi; 
  • lang/perl/Config-Multi/trunk/t/05-no-prefix.t

    r11710 r11786  
    1 use FindBin::libs; 
    21use Test::Base; 
    32use Config::Multi; 
  • lang/perl/Config-Multi/trunk/t/spelling.t

    r11709 r11786  
    2727jobqueue 
    2828myapp 
    29 #     configration 
    30 #     jobqueue 
    31 #     myapp 
    32 #     overwrited 
     29yaml