summaryrefslogtreecommitdiff
path: root/lib/Getopt/Dakkar/Stash.pm
blob: 2d0d568642d8b72d4cdebdb4cb69a47236afeef0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package Getopt::Dakkar::Stash; 
use Getopt::Dakkar::Style qw(class);
# VERSION 
# ABSTRACT: a stash 
 
has options => ( is => 'ro' );
has arguments => ( is => 'ro' );
 
sub new_from_argpack($class,$argpack) {
    return $class->new({
        options => $argpack->options,
        arguments => $argpack->arguments,
    });
}
 
sub merge_with_argpack($self,$argpack) {
    for my $f (qw(options arguments)) {
        my $this = $self->$f;
        my $that = $argpack->$f;
        $this->{$_} = $that->{$_for keys $that->%*;
    }
    return $self;
}