Scroll to navigation

MooseX::Has::Sugar::Saccharin(3pm) User Contributed Perl Documentation MooseX::Has::Sugar::Saccharin(3pm)

NAME

MooseX::Has::Sugar::Saccharin - Experimental sweetness

VERSION

version 0.05070420

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) 2012 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.
2012-02-12 perl v5.14.2