bump version to 0.22
[gitmo/MooseX-AttributeHelpers.git] / lib / MooseX / AttributeHelpers / Counter.pm
index 31da9ff..9302918 100644 (file)
@@ -2,49 +2,18 @@
 package MooseX::AttributeHelpers::Counter;
 use Moose;
 
-our $VERSION   = '0.02';
+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} = $self->helper_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;
 
 # register the alias ...
-package Moose::Meta::Attribute::Custom::Counter;
+package # hide me from search.cpan.org
+    Moose::Meta::Attribute::Custom::Counter;
 sub register_implementation { 'MooseX::AttributeHelpers::Counter' }
 
 1;
@@ -57,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
@@ -114,30 +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<inc>
-
-Increments the value stored in this slot by 1.
-
-=item I<dec>
-
-Decrements the value stored in this slot by 1.
-
-=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.
 
@@ -147,7 +60,7 @@ Stevan Little E<lt>stevan@iinteractive.comE<gt>
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2007 by Infinity Interactive, Inc.
+Copyright 2007-2009 by Infinity Interactive, Inc.
 
 L<http://www.iinteractive.com>
 
@@ -155,3 +68,4 @@ This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 
 =cut
+