table of contents
        
      
      
    
      other versions
    
    - Tumbleweed 1.660.0-1.3
 - Leap-15.6
 
| 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-12-12 | perl v5.42.0 |