DOKK / manpages / debian 12 / libmousex-nativetraits-perl / MouseX::NativeTraits::Bool.3pm.en
MouseX::NativeTraits::Bool(3pm) User Contributed Perl Documentation MouseX::NativeTraits::Bool(3pm)

MouseX::NativeTraits::Bool - Helper trait for Bool attributes

  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

This provides a simple boolean attribute, which supports most of the basic math operations.

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.

Sets the value to true.
Set the value to false.
Toggles the value. If it's true, set to false, and vice versa.
Equivalent of 'not $value'.

MouseX::NativeTraits.

2022-06-16 perl v5.34.0