package SLUB::LZA::Rosetta::TA::Command::init; use strict; use warnings; use SLUB::LZA::Rosetta::TA -command; use YAML; use Path::Tiny; use feature qw(say); sub abstract {"Initialize $0";} sub description {"Initialize $0, preparing config"} sub opt_spec { return( ["verbose|v" => "enable verbose output"], ["rosettahost|r=s" => "host", {required=>1}], ); } sub validate_args { my ($self, $opt, $args) = @_; # no args allowed but options! $self->usage_error("No args allowed") if @$args; } sub execute { my ($self, $opt, $args) = @_; my %config; $config{host} = $opt->{rosettahost}; if (defined $SLUB::LZA::Rosetta::TA::config_file) { if (defined $opt->{verbose}) { say "store config in $SLUB::LZA::Rosetta::TA::config_file"; } YAML::DumpFile($SLUB::LZA::Rosetta::TA::config_file, %config); } } 1;