1 package Moose::Meta::Attribute::Native::Trait::Number;
5 $VERSION = eval $VERSION;
6 our $AUTHORITY = 'cpan:STEVAN';
8 use Moose::Meta::Method::Accessor::Native::Number::abs;
9 use Moose::Meta::Method::Accessor::Native::Number::add;
10 use Moose::Meta::Method::Accessor::Native::Number::div;
11 use Moose::Meta::Method::Accessor::Native::Number::mod;
12 use Moose::Meta::Method::Accessor::Native::Number::mul;
13 use Moose::Meta::Method::Accessor::Native::Number::set;
14 use Moose::Meta::Method::Accessor::Native::Number::sub;
16 with 'Moose::Meta::Attribute::Native::Trait';
18 sub _helper_type { 'Num' }
28 Moose::Meta::Attribute::Native::Trait::Number - Helper trait for Num attributes
51 my $real = Real->new();
52 $real->add(5); # same as $real->integer($real->integer + 5);
53 $real->sub(2); # same as $real->integer($real->integer - 2);
57 This provides a simple numeric attribute, which supports most of the
58 basic math operations.
60 =head1 PROVIDED METHODS
62 It is important to note that all those methods do in place modification of the
63 value stored in the attribute. These methods are implemented within this
68 =item * B<add($value)>
70 Adds the current value of the attribute to C<$value>. Returns the new value.
72 =item * B<sub($value)>
74 Subtracts C<$value> from the current value of the attribute. Returns the new
77 =item * B<mul($value)>
79 Multiplies the current value of the attribute by C<$value>. Returns the new
82 =item * B<div($value)>
84 Divides the current value of the attribute by C<$value>. Returns the new
87 =item * B<mod($value)>
89 Returns the current value of the attribute modulo C<$value>. Returns the new
94 Sets the current value of the attribute to its absolute value. Returns the new
101 See L<Moose/BUGS> for details on reporting bugs.
107 =head1 COPYRIGHT AND LICENSE
109 Copyright 2007-2009 by Infinity Interactive, Inc.
111 L<http://www.iinteractive.com>
113 This library is free software; you can redistribute it and/or modify
114 it under the same terms as Perl itself.