App-ClusterSSH
view release on metacpan or search on metacpan
lib/App/ClusterSSH/Config.pm view on Meta::CPAN
$self->{comms} = 'ssh';
}
else {
$self->{comms} = $comms;
}
$self->{title} = uc($Script);
$clusters = App::ClusterSSH::Cluster->new();
return $self->validate_args(%args);
}
sub validate_args {
my ( $self, %args ) = @_;
my @unknown_config = ();
foreach my $config ( sort( keys(%args) ) ) {
if ( grep /$config/, @app_specific ) {
# $self->{$config} ||= 'unknown';
next;
}
lib/App/ClusterSSH/Config.pm view on Meta::CPAN
delete( $read_config{$cluster} );
}
}
delete( $read_config{clusters} );
}
# tidy up entries, just in case
$read_config{terminal_font} =~ s/['"]//g
if ( $read_config{terminal_font} );
$self->validate_args(%read_config);
}
sub load_configs {
my ( $self, @configs ) = @_;
for my $config (
'/etc/csshrc',
$ENV{HOME} . '/.csshrc',
$ENV{HOME} . '/.clusterssh/config',
)
lib/App/ClusterSSH/Config.pm view on Meta::CPAN
=over 4
=item $host=ClusterSSH::Config->new ({ })
Create a new configuration object.
=item $config->parse_config_file('<filename>');
Read in configuration from given filename
=item $config->validate_args();
Validate and apply all configuration loaded at this point
=item $path = $config->search_dirs('<name>', @seaarch_directories);
Search the given directories for the name given. Return undef if not found.
=item $path = $config->find_binary('<name>');
Locate the binary <name> and return the full path. Doesn't just search
t/15config.t view on Meta::CPAN
rows => -1,
cols => -1,
fillscreen => 'no',
};
my %expected = %default_config;
is_deeply( $config, \%expected, 'default config is correct' );
$config = App::ClusterSSH::Config->new();
trap {
$config = $config->validate_args(
whoops => 'not there',
doesnt_exist => 'whoops',
);
};
isa_ok( $trap->die, 'App::ClusterSSH::Exception::Config' );
is( $trap->die,
'Unknown configuration parameters: doesnt_exist,whoops' . $/,
'got correct error message'
);
is_deeply(
$trap->die->unknown_config,
[ 'doesnt_exist', 'whoops' ],
'Picked up unknown config array'
);
isa_ok( $config, "App::ClusterSSH::Config" );
$expected{extra_cluster_file} = '/etc/filename';
$expected{rsh_args} = 'some args';
$expected{max_addhost_menu_cluster_items} = 120;
trap {
$config = $config->validate_args(
extra_cluster_file => '/etc/filename',
rsh_args => 'some args',
max_addhost_menu_cluster_items => 120,
);
};
is( $trap->die, undef, 'validated ok' );
isa_ok( $config, "App::ClusterSSH::Config" );
is_deeply( $config, \%expected, 'default config is correct' );
$config = App::ClusterSSH::Config->new();
%expected = %default_config;
my $file = "$Bin/$Script.doesntexist";
trap {
$config = $config->parse_config_file( $file, );
};
( run in 0.497 second using v1.01-cache-2.11-cpan-a5abf4f5562 )