bump version to 0.22
[gitmo/MooseX-AttributeHelpers.git] / lib / MooseX / AttributeHelpers / Counter.pm
index 28b0fe3..9302918 100644 (file)
@@ -2,45 +2,12 @@
 package MooseX::AttributeHelpers::Counter;
 use Moose;
 
-our $VERSION   = '0.13';
+our $VERSION   = '0.22';
 $VERSION = eval $VERSION;
 our $AUTHORITY = 'cpan:STEVAN';
 
-use MooseX::AttributeHelpers::MethodProvider::Counter;
-
-extends 'MooseX::AttributeHelpers::Base';
-
-has '+method_provider' => (
-    default => 'MooseX::AttributeHelpers::MethodProvider::Counter'
-);
-
-sub helper_type { 'Num' }
-
-before 'process_options_for_provides' => sub {
-    my ($self, $options, $name) = @_;
-
-    # Set some default attribute options here unless already defined
-    if ((my $type = $self->helper_type) && !exists $options->{isa}){
-        $options->{isa} = $type;
-    }
-    
-    $options->{is}      = 'ro' unless exists $options->{is};
-    $options->{default} = 0    unless exists $options->{default};
-};
-
-after 'check_provides_values' => sub {
-    my $self     = shift;
-    my $provides = $self->provides;
-
-    unless (scalar keys %$provides) {
-        my $method_constructors = $self->method_constructors;
-        my $attr_name           = $self->name;
-        
-        foreach my $method (keys %$method_constructors) {
-            $provides->{$method} = ($method . '_' . $attr_name);
-        }
-    }
-};
+extends 'Moose::Meta::Attribute';
+with 'MooseX::AttributeHelpers::Trait::Counter';
 
 no Moose;
 
@@ -59,41 +26,6 @@ __END__
 
 MooseX::AttributeHelpers::Counter
 
-=head1 SYNOPSIS
-
-  package MyHomePage;
-  use Moose;
-  use MooseX::AttributeHelpers;
-  
-  has 'counter' => (
-      metaclass => 'Counter',
-      is        => 'ro',
-      isa       => 'Num',
-      default   => sub { 0 },
-      provides  => {
-          inc => 'inc_counter',
-          dec => 'dec_counter',          
-          reset => 'reset_counter',
-      }
-  );
-
-  my $page = MyHomePage->new();
-  $page->inc_counter; # same as $page->counter($page->counter + 1);
-  $page->dec_counter; # same as $page->counter($page->counter - 1);  
-  
-=head1 DESCRIPTION
-
-This module provides a simple counter attribute, which can be 
-incremented and decremeneted. 
-
-If your attribute definition does not include any of I<is>, I<isa>,
-I<default> or I<provides> but does use the C<Counter> metaclass,
-then this module applies defaults as in the L</SYNOPSIS>
-above. This allows for a very basic counter definition:
-
-  has 'foo' => (metaclass => 'Counter');
-  $obj->inc_foo;
-
 =head1 METHODS
 
 =over 4
@@ -116,36 +48,9 @@ Run after its superclass method.
 
 =back
 
-=head1 PROVIDED METHODS
-
-It is important to note that all those methods do in place
-modification of the value stored in the attribute.
-
-=over 4
-
-=item I<set>
-
-Set the counter to the specified value.
-
-=item I<inc>
-
-Increments the value stored in this slot by 1. Providing an argument will
-cause the counter to be increased by specified amount.
-
-=item I<dec>
-
-Decrements the value stored in this slot by 1. Providing an argument will
-cause the counter to be increased by specified amount.
-
-=item I<reset>
-
-Resets the value stored in this slot to it's default value. 
-
-=back
-
 =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.
 
@@ -155,7 +60,7 @@ Stevan Little E<lt>stevan@iinteractive.comE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2007-2008 by Infinity Interactive, Inc.
+Copyright 2007-2009 by Infinity Interactive, Inc.
 
 L<http://www.iinteractive.com>
 
@@ -163,3 +68,4 @@ This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 
 =cut
+