Add explicit return values for (almost) all native delegation mutating methods
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / Counter / dec.pm
CommitLineData
04e05413 1package Moose::Meta::Method::Accessor::Native::Counter::dec;
2
3use strict;
4use warnings;
5
efa728b4 6our $VERSION = '1.15';
04e05413 7$VERSION = eval $VERSION;
8our $AUTHORITY = 'cpan:STEVAN';
9
8b9641b8 10use Moose::Role;
11
12with 'Moose::Meta::Method::Accessor::Native::Writer' => {
13 -excludes => [
14 qw(
15 _minimum_arguments
16 _maximum_arguments
17 _inline_optimized_set_new_value
7f5ec80d 18 _return_value
8b9641b8 19 )
20 ]
21};
04e05413 22
23sub _minimum_arguments {0}
24sub _maximum_arguments {1}
25
26sub _potential_value {
27 my ( $self, $slot_access ) = @_;
28
584540d9 29 return "$slot_access - ( defined \$_[0] ? \$_[0] : 1 )";
04e05413 30}
31
32sub _inline_optimized_set_new_value {
33 my ( $self, $inv, $new, $slot_access ) = @_;
34
584540d9 35 return "$slot_access -= defined \$_[0] ? \$_[0] : 1";
04e05413 36}
37
7f5ec80d 38sub _return_value {
39 my ( $self, $slot_access ) = @_;
40
41 return "return $slot_access;";
42}
43
8b9641b8 44no Moose::Role;
45
04e05413 461;