Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
class-accessor module with _build_foo() default value providers
Perl
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib/Class/Accessor/Fast
t
.gitignore
Changes
Makefile.PL
README

README

NAME
    Class::Accessor::Fast::WithBuilder - Class::Accessor::Fast with lazy
    defaults

VERSION
    0.0101

DESCRIPTION
    This module will require builders for each attribute defined. This means
    that adding attributes with this module, is something like this code
    from Moose:

        has age => (
            is => "ro", # or rw
            lazy => 1,
            builder => "_build_age",
        );

    NOTE: All builders will be called as late as possible.

SYNOPSIS
        package Foo;
        use base qw(Class::Accessor::Fast::WithBuilder);

        Foo->mk_accessors(qw( name age ));

        sub _build_name { $_[0]->_croak("'name' attribute cannot be built!") }
        sub _build_age { 0 }

        print Foo->new->name; # BOOM!
        print Foo->new->age; # Will print "0"
        print Foo->new({ age => 123 })->age; # Will print "123"

METHODS
  make_accessor
    See "make_accessor" in Class::Accessor

  make_ro_accessor
    See "make_ro_accessor" in Class::Accessor

  make_wo_accessor
    This is not implemented. (See "make_wo_accessor" in Class::Accessor)

COPYRIGHT & LICENSE
AUTHOR
    Jan Henning Thorsen "jhthorsen at cpan.org"

Something went wrong with that request. Please try again.