has description => (is => 'rw', isa => 'Str', lazy_fail => 1);
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);
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.