Stevan Little > Moose-1.00 > Moose::Meta::Attribute::Native::Trait::Counter

Download:
Moose-1.00.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  10
Open  42
Stalled  7
View/Report Bugs
Module Version: 1.00   Source   Latest Release: Moose-2.1302-TRIAL

NAME ^

Moose::Meta::Attribute::Native::Trait::Counter - Helper trait for counters

SYNOPSIS ^

  package MyHomePage;
  use Moose;

  has 'counter' => (
      traits    => ['Counter'],
      is        => 'ro',
      isa       => 'Num',
      default   => 0,
      handles   => {
          inc_counter   => 'inc',
          dec_counter   => 'dec',
          reset_counter => 'reset',
      },
  );

  my $page = MyHomePage->new();
  $page->inc_counter; # same as $page->counter( $page->counter + 1 );
  $page->dec_counter; # same as $page->counter( $page->counter - 1 );
  
  my $count_by_twos = 2;
  $page->inc_counter($count_by_twos);

DESCRIPTION ^

This module provides a simple counter attribute, which can be incremented and decremented by arbitrary amounts. The default amount of change is one.

PROVIDED METHODS ^

These methods are implemented in Moose::Meta::Attribute::Native::MethodProvider::Counter. It is important to note that all those methods do in place modification of the value stored in the attribute.

set($value)

Set the counter to the specified value.

inc($arg)

Increase the attribute value by the amount of the argument. No argument increments the value by 1.

dec($arg)

Decrease the attribute value by the amount of the argument. No argument decrements the value by 1.

reset

Resets the value stored in this slot to it's default value.

METHODS ^

meta
method_provider
has_method_provider

BUGS ^

See "BUGS" in Moose for details on reporting bugs.

AUTHOR ^

Stevan Little <stevan@iinteractive.com>

COPYRIGHT AND LICENSE ^

Copyright 2007-2009 by Infinity Interactive, Inc.

http://www.iinteractive.com

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

syntax highlighting: