Moose::Meta::Attribute::Native::Trait::Bool - Helper trait for Bool attributes


Moose documentation  | view source Contained in the Moose distribution.

Index


NAME

Top

Moose::Meta::Attribute::Native::Trait::Bool - Helper trait for Bool attributes

VERSION

Top

version 2.0010

SYNOPSIS

Top

  package Room;
  use Moose;

  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

Top

This trait provides native delegation methods for boolean values. A boolean is a scalar which can be 1, 0, "", or undef.

DEFAULT TYPE

Top

If you don't provide an isa value for your attribute, it will default to Bool.

PROVIDED METHODS

Top

None of these methods accept arguments.

* set

Sets the value to 1 and returns 1.

* unset

Set the value to 0 and returns 0.

* toggle

Toggles the value. If it's true, set to false, and vice versa.

Returns the new value.

* not

Equivalent of 'not $value'.

BUGS

Top

See BUGS in Moose for details on reporting bugs.

AUTHOR

Top

Stevan Little <stevan@iinteractive.com>

COPYRIGHT AND LICENSE

Top


Moose documentation  | view source Contained in the Moose distribution.