2 package MooseX::AttributeHelpers::MethodProvider::Counter;
6 $VERSION = eval $VERSION;
7 our $AUTHORITY = 'cpan:STEVAN';
10 my ($attr, $reader, $writer) = @_;
11 return sub { $writer->($_[0], $attr->default($_[0])) };
15 my ($attr, $reader, $writer, $value) = @_;
16 return sub { $writer->($_[0], $_[1]) };
20 my ($attr, $reader, $writer) = @_;
21 return sub { $writer->($_[0], $reader->($_[0]) + (defined($_[1]) ? $_[1] : 1) ) };
25 my ($attr, $reader, $writer) = @_;
26 return sub { $writer->($_[0], $reader->($_[0]) - (defined($_[1]) ? $_[1] : 1) ) };
37 MooseX::AttributeHelpers::MethodProvider::Counter
41 This is a role which provides the method generators for
42 L<MooseX::AttributeHelpers::Counter>.
52 =head1 PROVIDED METHODS
68 All complex software has bugs lurking in it, and this module is no
69 exception. If you find a bug please either email me, or add the bug
74 Stevan Little E<lt>stevan@iinteractive.comE<gt>
76 =head1 COPYRIGHT AND LICENSE
78 Copyright 2007-2008 by Infinity Interactive, Inc.
80 L<http://www.iinteractive.com>
82 This library is free software; you can redistribute it and/or modify
83 it under the same terms as Perl itself.