logo
Free, Micro AI Code Reviews That Run on Git Commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt git-lrc - Free, Micro AI Code Reviews That Run on Git Commit | Product Hunt

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

Description

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

Methods

metamethod_provider_classhelper_type

Name

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

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'.

See Also

       MouseX::NativeTraits.

perl v5.34.0                                       2022-06-16                    MouseX::NativeTraits::Bool(3pm)

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

See Also