X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FAttributeHelpers%2FMethodProvider%2FBool.pm;fp=lib%2FMoose%2FAttributeHelpers%2FMethodProvider%2FBool.pm;h=9736d6f7ff3af37f72863aa4ed2f8bb7e71e8b12;hb=e3c07b1941867113a7fbc81f042857bb6b11ed83;hp=0000000000000000000000000000000000000000;hpb=1e3cd8cbeb48440273bd5b27b76bfb936d0523ac;p=gitmo%2FMoose.git diff --git a/lib/Moose/AttributeHelpers/MethodProvider/Bool.pm b/lib/Moose/AttributeHelpers/MethodProvider/Bool.pm new file mode 100644 index 0000000..9736d6f --- /dev/null +++ b/lib/Moose/AttributeHelpers/MethodProvider/Bool.pm @@ -0,0 +1,85 @@ + +package Moose::AttributeHelpers::MethodProvider::Bool; +use Moose::Role; + +our $VERSION = '0.19'; +$VERSION = eval $VERSION; +our $AUTHORITY = 'cpan:STEVAN'; + +sub set : method { + my ($attr, $reader, $writer) = @_; + return sub { $writer->($_[0], 1) }; +} + +sub unset : method { + my ($attr, $reader, $writer) = @_; + return sub { $writer->($_[0], 0) }; +} + +sub toggle : method { + my ($attr, $reader, $writer) = @_; + return sub { $writer->($_[0], !$reader->($_[0])) }; +} + +sub not : method { + my ($attr, $reader, $writer) = @_; + return sub { !$reader->($_[0]) }; +} + +1; + +__END__ + +=pod + +=head1 NAME + +Moose::AttributeHelpers::MethodProvider::Bool + +=head1 DESCRIPTION + +This is a role which provides the method generators for +L. + +=head1 METHODS + +=over 4 + +=item B + +=back + +=head1 PROVIDED METHODS + +=over 4 + +=item B + +=item B + +=item B + +=item B + +=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. + +=head1 AUTHOR + +Jason May Ejason.a.may@gmail.comE + +=head1 COPYRIGHT AND LICENSE + +Copyright 2007-2009 by Infinity Interactive, Inc. + +L + +This library is free software; you can redistribute it and/or modify +it under the same terms as Perl itself. + +=cut