Moose::Meta::Attribute::Native::Trait::Bool(3pm)

Moose::Meta::Attribute::Native::Trait::Bool3pm

Helper trait for bool attributes

Usage

  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

Version

version 2.4001

Overview

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

Default type

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

Provided methods

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

Releases

9 releases since Debian 6.0 (Squeeze); the text changed 8 times.

  1. 6.0
  2. 7
  3. 8
  4. 9
  5. 10
  6. 11
  7. 12
  8. 13
  9. Arch