use Moose::Role;
use Moose::Meta::Attribute::Native::MethodProvider::Bool;
-our $VERSION = '0.87';
+our $VERSION = '0.94';
$VERSION = eval $VERSION;
our $AUTHORITY = 'cpan:STEVAN';
with 'Moose::Meta::Attribute::Native::Trait';
-sub _default_is { 'rw' }
+sub _default_is { 'rw' }
sub _helper_type { 'Bool' }
-# NOTE: we don't use the method provider for this module since many of
-# the names of the provided methods would conflict with keywords - SL
-
has 'method_provider' => (
is => 'ro',
isa => 'ClassName',
=head1 NAME
-Moose::Meta::Attribute::Native::Trait::Bool
+Moose::Meta::Attribute::Native::Trait::Bool - Helper trait for Bool attributes
=head1 SYNOPSIS
package Room;
use Moose;
- use Moose::AttributeHelpers;
has 'is_lit' => (
- metaclass => 'Bool',
+ traits => ['Bool'],
is => 'rw',
isa => 'Bool',
default => 0,
darken => 'unset',
flip_switch => 'toggle',
is_dark => 'not',
- }
+ },
);
my $room = Room->new();
This provides a simple boolean attribute, which supports most of the
basic math operations.
-=head1 METHODS
-
-=over 4
+=head1 PROVIDED METHODS
-=item B<meta>
+These methods are implemented in
+L<Moose::Meta::Attribute::Native::MethodProvider::Bool>. It is important to
+note that all those methods do in place modification of the value stored in
+the attribute.
-=item B<method_constructors>
+=over 4
-=item B<has_method_provider>
+=item B<set>
-=item B<method_provider>
+Sets the value to C<1>.
-=back
+=item B<unset>
-=head1 PROVIDED METHODS
+Set the value to C<0>.
-It is important to note that all those methods do in place
-modification of the value stored in the attribute.
+=item B<toggle>
-=over 4
+Toggles the value. If it's true, set to false, and vice versa.
-=item I<set>
+=item B<not>
-Sets the value to C<1>.
+Equivalent of 'not C<$value>'.
-=item I<unset>
+=back
-Set the value to C<0>.
+=head1 METHODS
-=item I<toggle>
+=over 4
-Toggle the value. If it's true, set to false, and vice versa.
+=item B<meta>
-=item I<not>
+=item B<has_method_provider>
-Equivalent of 'not C<$value>'.
+=item B<method_provider>
=back
=head1 BUGS
-All complex software has bugs lurking in it, and this module is no
-exception. If you find a bug please either email me, or add the bug
-to cpan-RT.
+See L<Moose/BUGS> for details on reporting bugs.
=head1 AUTHOR