-
-
27 Sep 2013 05:18:51 UTC
- Distribution: Class-Accessor-Lite-Lazy
- Module version: 0.03
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues (0)
- Testers (5251 / 1 / 0)
- Kwalitee
Bus factor: 0- 90.57% Coverage
- License: perl_5
- Perl: v5.8.1
- Activity
24 month- Tools
- Download (11.19KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
NAME
Class::Accessor::Lite::Lazy - Class::Accessor::Lite with lazy accessor feature
SYNOPSIS
package MyPackage; use Class::Accessor::Lite::Lazy ( rw_lazy => [ # implicit builder method name is "_build_foo" qw(foo foo2), # or specify builder explicitly { xxx => 'method_name', yyy => sub { my $self = shift; ... }, } ], ro_lazy => [ qw(bar) ], # Class::Accessor::Lite functionality is also available new => 1, rw => [ qw(baz) ], ); # or if you specify all attributes' builders explicitly use Class::Accessor::Lite::Lazy ( rw_lazy => { foo => '_build_foo', bar => \&_build_bar, } ); sub _build_foo { my $self = shift; ... } sub _build_bar { my $self = shift; ... }
DESCRIPTION
Class::Accessor::Lite::Lazy provides a "lazy" accessor feature to Class::Accessor::Lite.
If a lazy accessor without any value set is called, a builder method is called to generate a value to set.
THE USE STATEMENT
As Class::Accessor::Lite, the use statement provides the way to create lazy accessors.
- rw_lazy => \@name_of_the_properties | \%properties_and_builders
-
Creates read / write lazy accessors.
- ro_lazy => \@name_of_the_properties | \%properties_and_builders
-
Creates read-only lazy accessors.
- new, rw, ro, wo
-
Same as Class::Accessor::Lite.
FUNCTIONS
Class::Accessor::Lite::Lazy->mk_lazy_accessors(@name_of_the_properties)
-
Creates lazy accessors in current package.
Class::Accessor::Lite::Lazy->mk_ro_lazy_accessors(@name_of_the_properties)
-
Creates read-only lazy accessors in current package.
SPECIFYING BUILDERS
As seen in SYNOPSIS, each attribute is specified by either a string or a hashref.
In the string form
$attr
you specify builders implicitly, the builder method name for the attribute $attr is named _build_$attr.In the hashref form
{ $attr => $method_name | \&builder }
you can explicitly specify builders, each key is the attribute name and each value is either a string which specifies the builder method name or a coderef itself.AUTHOR
motemen <motemen@gmail.com>
SEE ALSO
LICENSE
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Module Install Instructions
To install Class::Accessor::Lite::Lazy, copy and paste the appropriate command in to your terminal.
cpanm Class::Accessor::Lite::Lazy
perl -MCPAN -e shell install Class::Accessor::Lite::Lazy
For more information on module installation, please visit the detailed CPAN module installation guide.