NAME

MooseX::Role::DryRunnable::Attribute - EXPERIMENTAL - attribute to add a Dry Run Capability in some methods

SYNOPSIS

package Foo;
use Data::Dumper;
use Moose;
use MooseX::Role::DryRunnable::Attribute;
with 'MooseX::Role::DryRunnable';

has dry_run => (is => 'ro', isa => 'Bool', default => 0);

sub bar :dry_it {
  shift;
  print "Foo::bar @_\n";
}

sub is_dry_run { # required !
  shift->dry_run
}

sub on_dry_run { # required !
  my $self   = shift;
  my $method = shift;
  $self->logger("Dry Run method=$method, args: \n", @_);
}

DESCRIPTION

This module can be used in Moose classes who uses the role MooseX::Role::DryRunnable. Provides an Attribute :dry_it. EXPERIMETAL

My idea is put the information about the dry run capability close to the method.

PARAMETERS

dry_it (CODE)

This method export to UNIVERSAL one parameter called dry_it, and it works with MooseX::Role::DryRunnable

SEE ALSO

Moose::Role, Attribute::Handlers, MooseX::Role::DryRunnable.

BUGS AND LIMITATIONS

There are no known bugs in this module.

Please report problems to Tiago Peczenyj <tiago.peczenyj@gmail.com>, or (preferred) to this package's RT tracker at <bug-MooseX-Role-DryRunnable@rt.cpan.org>.

AUTHOR

Tiago Peczenyj <tiago.peczenyj@gmail.com>

LICENSE AND COPYRIGHT

Copyright (c) 2023 Tiago Peczenyj <tiago.peczenyj@gmail.com>

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the

Free Software Foundation, Inc.
59 Temple Place, Suite 330
Boston, MA  02111-1307  USA