Moose::Meta::Attribute::Native::Trait::Number - Helper trait for Num attributes


Moose documentation Contained in the Moose distribution.

Index


Code Index:

NAME

Top

Moose::Meta::Attribute::Native::Trait::Number - Helper trait for Num attributes

VERSION

Top

version 2.0010

SYNOPSIS

Top

  package Real;
  use Moose;

  has 'integer' => (
      traits  => ['Number'],
      is      => 'ro',
      isa     => 'Num',
      default => 5,
      handles => {
          set => 'set',
          add => 'add',
          sub => 'sub',
          mul => 'mul',
          div => 'div',
          mod => 'mod',
          abs => 'abs',
      },
  );

  my $real = Real->new();
  $real->add(5);    # same as $real->integer($real->integer + 5);
  $real->sub(2);    # same as $real->integer($real->integer - 2);

DESCRIPTION

Top

This trait provides native delegation methods for numbers. All of the operations correspond to arithmetic operations like addition or multiplication.

DEFAULT TYPE

Top

If you don't provide an isa value for your attribute, it will default to Num.

PROVIDED METHODS

Top

All of these methods modify the attribute's value in place. All methods return the new value.

* add($value)

Adds the current value of the attribute to $value.

* sub($value)

Subtracts $value from the current value of the attribute.

* mul($value)

Multiplies the current value of the attribute by $value.

* div($value)

Divides the current value of the attribute by $value.

* mod($value)

Returns the current value of the attribute modulo $value.

* abs

Sets the current value of the attribute to its absolute value.

BUGS

Top

See BUGS in Moose for details on reporting bugs.

AUTHOR

Top

Stevan Little <stevan@iinteractive.com>

COPYRIGHT AND LICENSE

Top


Moose documentation Contained in the Moose distribution.

package Moose::Meta::Attribute::Native::Trait::Number;
BEGIN {
  $Moose::Meta::Attribute::Native::Trait::Number::AUTHORITY = 'cpan:STEVAN';
}
BEGIN {
  $Moose::Meta::Attribute::Native::Trait::Number::VERSION = '2.0010';
}
use Moose::Role;

with 'Moose::Meta::Attribute::Native::Trait';

sub _helper_type { 'Num' }

no Moose::Role;

1;

# ABSTRACT: Helper trait for Num attributes




__END__