MooseX::AttributeHelpers::Trait::Bool − simple boolean attribute
version 0.25
package Room; use Moose; use MooseX::AttributeHelpers; has 'is_lit' => ( metaclass => 'Bool', is => 'rw', isa => 'Bool', default => sub { 0 }, provides => { set => 'illuminate', unset => 'darken', toggle => 'flip_switch', not => 'is_dark' } ); my $room = Room−>new(); $room−>illuminate; # same as $room−>is_lit(1); $room−>darken; # same as $room−>is_lit(0); $room−>flip_switch; # same as $room−>is_lit(not $room−>is_lit); return $room−>is_dark; # same as !$room−>is_lit
This provides a simple boolean attribute, which supports most of the basic math operations.
meta
helper_type
method_constructors
has_method_provider
method_provider
It is important to note that all those methods do in place modification of the value stored in the attribute.
set |
Sets the value to 1. |
unset
Set the value to 0.
toggle
Toggle the value. If it’s true, set to false, and vice versa.
not |
Equivalent of ’not $value’. |
Bugs may be submitted through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=MooseX-AttributeHelpers> (or bug−MooseX−AttributeHelpers AT rt DOT cpan DOT org <mailto:bug-MooseX-AttributeHelpers AT rt DOT cpan DOT org>).
There is also a mailing list available for users of this distribution, at <http://lists.perl.org/list/moose.html>.
There is also an irc channel available for users of this distribution, at "#moose" on "irc.perl.org" <irc://irc.perl.org/#moose>.
Stevan Little <stevan AT iinteractive DOT com>
Jason May
This software is copyright (c) 2007 by Stevan Little and Infinity Interactive, Inc.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.