SQL::Translator::Types - Type checking functions
package Foo;
use Moo;
use SQL::Translator::Types qw(schema_obj enum);
has foo => ( is => 'rw', isa => schema_obj('Trigger') );
has bar => ( is => 'rw', isa => enum([qw(baz quux quuz)], {
msg => "Invalid value for bar: '%s'", icase => 1,
});
This module exports functions that return coderefs suitable for Moo
"isa" type checks. Errors are reported using
"throw" in SQL::Translator::Utils.
Returns a coderef that checks that its arguments is an object of the class
"SQL::Translator::Schema::$type".
Returns a coderef that checks that the argument is one of the provided
@strings.
Parameters
- msg
- sprintf string for the error message. If no other parameters are needed,
this can be provided on its own, instead of the
%parameters hashref. The invalid value is passed
as the only argument. Defaults to "Invalid value:
'%s'".
- icase
- If true, folds the values to lower case before checking for equality.
- allow_undef
- If true, allow "undef" in addition to
the specified strings.
- allow_false
- If true, allow any false value in addition to the specified strings.