Beginning of dzilization
[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
04e05413 6our $AUTHORITY = 'cpan:STEVAN';
7
8b9641b8 8use Moose::Role;
9
10with 'Moose::Meta::Method::Accessor::Native::Writer' => {
11 -excludes => [
12 qw(
13 _minimum_arguments
14 _maximum_arguments
a486d5ad 15 _inline_optimized_set_new_value
8b9641b8 16 )
17 ]
18};
04e05413 19
1e2c801e 20sub _minimum_arguments { 0 }
21sub _maximum_arguments { 1 }
04e05413 22
23sub _potential_value {
53a4677c 24 my $self = shift;
25 my ($slot_access) = @_;
04e05413 26
1e2c801e 27 return $slot_access . ' - (defined $_[0] ? $_[0] : 1)';
04e05413 28}
29
a486d5ad 30sub _inline_optimized_set_new_value {
53a4677c 31 my $self = shift;
32 my ($inv, $new, $slot_access) = @_;
04e05413 33
a486d5ad 34 return $slot_access . ' -= defined $_[0] ? $_[0] : 1;';
04e05413 35}
36
8b9641b8 37no Moose::Role;
38
04e05413 391;