NAME
MouseX::NativeTraits::Bool - Helper trait for Bool attributes
SYNOPSIS
package
Room;
use
Mouse;
has
'is_lit'
=> (
traits
=> [
'Bool'
],
is
=>
'rw'
,
isa
=>
'Bool'
,
default
=> 0,
handles
=> {
illuminate
=>
'set'
,
darken
=>
'unset'
,
flip_switch
=>
'toggle'
,
is_dark
=>
'not'
,
},
);
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
DESCRIPTION
This provides a simple boolean attribute, which supports most of the basic math operations.
PROVIDED METHODS
These methods are implemented in MouseX::NativeTraits::MethodProvider::Bool. 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 true.
- unset
-
Set the value to false.
- toggle
-
Toggles the value. If it's true, set to false, and vice versa.
- not
-
Equivalent of 'not
$value
'.