table of contents
SQL::Translator::Role::ListAttr(3) | User Contributed Perl Documentation | SQL::Translator::Role::ListAttr(3) |
NAME¶
SQL::Translator::Role::ListAttr - context-sensitive list attributes
SYNOPSIS¶
package Foo; use Moo; use SQL::Translator::Role::ListAttr; with ListAttr foo => ( uniq => 1, append => 1 );
DESCRIPTION¶
This package provides a variable Moo::Role for context-sensitive list attributes.
FUNCTIONS¶
ListAttr $name => %parameters;¶
Returns a Moo::Role providing an arrayref attribute named $name, and wrapping the accessor to provide context-sensitivity both for setting and getting. If no "builder" or "default" is provided, the default value is the empty list.
On setting, the arguments are parsed using "parse_list_arg" in SQL::Translator::Utils, and the accessor will return an array reference or a list, depending on context.
Parameters
- append
- If true, the setter will append arguments to the existing ones, rather than replacing them.
- uniq
- If true, duplicate items will be removed, keeping the first one seen.
- may_throw
- If accessing the attribute might throw an exception (e.g. from a "builder" or "isa" check), this should be set to make the accessor store the exception using SQL::Translator::Role::Error and return undef.
- undef_if_empty
- If true, and the list is empty, the accessor will return "undef" instead of a reference to an empty in scalar context.
Unknown parameters are passed through to the has call for the attribute.
SEE ALSO¶
2024-03-08 | perl v5.40.0 |