Fey
view release on metacpan or search on metacpan
lib/Fey/Column.pm view on Meta::CPAN
package Fey::Column;
use strict;
use warnings;
use namespace::autoclean;
our $VERSION = '0.44';
use Scalar::Util qw( blessed weaken );
use Fey::Column::Alias;
use Fey::Exceptions qw( param_error object_state_error );
use Fey::Literal;
use Fey::Table;
use Fey::Table::Alias;
use Fey::Types qw(
Bool
DefaultValue
GenericTypeName
PosInteger
PosOrZeroInteger
Str
);
use Moose 2.1200;
use MooseX::SemiAffordanceAccessor 0.03;
use MooseX::StrictConstructor 0.13;
with 'Fey::Role::ColumnLike';
with 'Fey::Role::MakesAliasObjects' => {
self_param => 'column',
alias_class => 'Fey::Column::Alias',
};
has 'id' => (
is => 'ro',
lazy_build => 1,
init_arg => undef,
clearer => '_clear_id',
);
has 'name' => (
is => 'ro',
isa => Str,
required => 1,
);
has 'generic_type' => (
is => 'ro',
isa => GenericTypeName,
lazy_build => 1,
);
has type => (
is => 'ro',
isa => Str,
required => 1,
);
has length => (
is => 'ro',
isa => PosInteger,
required => 0
);
# How to say that precision requires length as well?
has precision => (
is => 'ro',
( run in 1.465 second using v1.01-cache-2.11-cpan-e93a5daba3e )