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


Moose documentation Contained in the Moose distribution.

Index


Code 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 Contained in the Moose distribution.

package Moose::Meta::Attribute::Native::Trait::Bool;
BEGIN {
  $Moose::Meta::Attribute::Native::Trait::Bool::AUTHORITY = 'cpan:STEVAN';
}
BEGIN {
  $Moose::Meta::Attribute::Native::Trait::Bool::VERSION = '2.0010';
}
use Moose::Role;

with 'Moose::Meta::Attribute::Native::Trait';

sub _default_is  { 'rw' }
sub _helper_type { 'Bool' }

no Moose::Role;

1;

# ABSTRACT: Helper trait for Bool attributes




__END__