Why not adopt me?
NAME
MooseX::Has::Sugar::Saccharin - Experimental sweetness
VERSION
version 0.05055616
SYNOPSIS
This is a highly experimental sugaring module. No Guarantees of stability.
use MooseX::Types::Moose qw( :all );
has name => rw Str, default { 1 };
has suffix => required rw Str;
has 'suffix', required rw Str;
Your choice.
EXPORT GROUPS
:default
exports "ro", "rw", "required", "lazy", "lazy_build", "coerce", "weak_ref", "auto_deref", "bare", "default", "init_arg", "predicate", "clearer", "builder", "trigger",
EXPORTED FUNCTIONS
bare
bare $Type
bare Str
equivalent to this
is => 'bare', isa => Str
ro
ro $Type
ro Str
equivalent to this
is => 'ro', isa => Str,
rw
rw $Type
rw Str
equivalent to this
is => 'rw', isa => Str
required
required @rest
this
required rw Str
is equivalent to this
required => 1, is => 'rw', isa => Str,
this
rw Str, required
is equivalent to this
is => 'rw', isa => Str , required => 1
lazy
lazy @rest
like ( lazy => 1 , @rest )
lazy_build
lazy_build @rest
like ( lazy_build => 1, @rest )
weak_ref
weak_ref @rest
like ( weak_ref => 1, @rest )
coerce
@rest
like ( coerce => 1, @rest )
WARNING:
Conflicts with MooseX::Types's
coerce
method
auto_deref
auto_deref @rest
like ( auto_deref => 1, @rest )
builder
builder $buildername:
required rw Str, builder '_build_foo'
is like
builder => '_build_foo'
predicate
predicate $predicatename
see "builder"
clearer
clearer $clearername
see "builder"
init_arg
init_arg $argname
see "builder"
default
default { $code }
Examples:
default { 1 }
default { { } }
default { [ ] }
default { $_->otherfield }
$_ is localised as the same value as $_[0] for convenience ( usually $self )
trigger
trigger { $code }
Works exactly like default.
CONFLICTS
MooseX::Has::Sugar
MooseX::Has::Sugar::Minimal
This module is not intended to be used in conjunction with ::Sugar or ::Sugar::Minimal
We export many of the same symbols and its just not very sensible.
MooseX::Types
Moose::Util::TypeConstraints
due to exporting the "coerce" symbol, using us in the same scope as a call to
use MooseX::Types ....
or use Moose::Util::TypeConstraints
will result in a symbol collision.
We recommend using and creating proper type libraries instead, ( which will absolve you entirely of the need to use MooseX::Types and MooseX::Has::Sugar(::*)? in the same scope )
Perl 5.010 feature 'switch'
the keyword 'default' becomes part of Perl in both these cases:
use 5.010;
use feature qw( :switch );
As such, we can't have that keyword in that scenario.
AUTHOR
Kent Fredric <kentnl at cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2010 by Kent Fredric.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.