logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on 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