has description => (is => 'rw', isa => 'Str', lazy_fail => 1);

Method-naming conventions

Reaction::Meta::Attribute will never override the values you set for method names, but if you do not it will follow these basic rules:

Attributes with a name that starts with an underscore will default to using builder and predicate method names in the form of the attribute name preceeded by either "_has" or "_build". Otherwise the method names will be in the form of the attribute names preceeded by "has_" or "build_". e.g.

   #auto generates "_has_description" and expects "_build_description"
   has _description => (is => 'rw', isa => 'Str', lazy_fail => 1);

   #auto generates "has_description" and expects "build_description"
   has description => (is => 'rw', isa => 'Str', lazy_fail => 1);

Predicate generation

All non-required or lazy attributes will have a predicate automatically generated for them if one is not already specified.


lazy_fail will fail if it is called without first having set the value.


See Reaction::Class for authors.


See Reaction::Class for the license.