Skip to content
Snippets Groups Projects
init.pm 891 B
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;