# ABSTRACT: Create a new empty stack package Pinto::Action::New; use Moose; use MooseX::Aliases; use MooseX::Types::Moose qw(Str); use Pinto::Types qw(StackName); use namespace::autoclean; #------------------------------------------------------------------------------ our $VERSION = '0.044'; # VERSION #------------------------------------------------------------------------------ extends qw( Pinto::Action ); #------------------------------------------------------------------------------ has stack => ( is => 'ro', isa => StackName, alias => 'operative_stack', required => 1, coerce => 1, ); has description => ( is => 'ro', isa => Str, predicate => 'has_description', ); #------------------------------------------------------------------------------ with qw( Pinto::Role::Operator ); #------------------------------------------------------------------------------ sub execute { my ($self) = @_; my $stack = $self->repos->create_stack(name => $self->stack); $stack->set_property('description' => $self->description); return $self->result->changed; } #------------------------------------------------------------------------------ __PACKAGE__->meta->make_immutable(); #------------------------------------------------------------------------------ 1; =pod =for :stopwords Jeffrey Ryan Thalhammer Imaginative Software Systems =head1 NAME Pinto::Action::New - Create a new empty stack =head1 VERSION version 0.044 =head1 AUTHOR Jeffrey Ryan Thalhammer <jeff@imaginative-software.com> =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2011 by Imaginative Software Systems. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut __END__