-
package MooseX::AttributeHelpers::MethodProvider::Counter;
-use Moose::Role;
+use MooseX::AttributeHelpers::MethodProvider;
our $VERSION = '0.02';
our $AUTHORITY = 'cpan:STEVAN';
-sub reset : method {
- my ($attr, $reader, $writer) = @_;
- return sub { $writer->($_[0], $attr->default($_[0])) };
-}
-
-sub inc {
- my ($attr, $reader, $writer) = @_;
- return sub { $writer->($_[0], $reader->($_[0]) + 1) };
-}
-
-sub dec {
- my ($attr, $reader, $writer) = @_;
- return sub { $writer->($_[0], $reader->($_[0]) - 1) };
-}
+add_method_provider 'Counter' => (
+ type => 'Int',
+ provides => {
+ reset => sub {
+ my ($attr, $reader, $writer) = @_;
+ return sub { $writer->($_[0], $attr->default($_[0])) };
+ },
+
+ inc => sub {
+ my ($attr, $reader, $writer) = @_;
+ return sub { $writer->($_[0], $reader->($_[0]) + 1) };
+ },
+
+ dec => sub {
+ my ($attr, $reader, $writer) = @_;
+ return sub { $writer->($_[0], $reader->($_[0]) - 1) };
+ },
+ },
+);
1;
=head1 NAME
MooseX::AttributeHelpers::MethodProvider::Counter
-
+
=head1 DESCRIPTION
-This is a role which provides the method generators for
+This is a role which provides the method generators for
L<MooseX::AttributeHelpers::Counter>.
=head1 PROVIDED METHODS
=head1 BUGS
-All complex software has bugs lurking in it, and this module is no
+All complex software has bugs lurking in it, and this module is no
exception. If you find a bug please either email me, or add the bug
to cpan-RT.