auto_deref => 1,
);
+ has '_options' => (
+ metaclass => 'Collection::Array',
+ is => 'rw',
+ isa => ArrayRef,
+ provides => {
+ push => 'add_option',
+ pop => 'remove_last_option',
+ },
+ default => sub { [] },
+ auto_deref => 1,
+ );
+
multi method comments(Str $comment) { $self->add_comment($comment) }
multi method comments(ArrayRef $comment) { $self->add_comment($comment) }
multi method comments(Any $) { return wantarray ? @{$self->_comments} : join "\n", $self->_comments }
+
+ multi method options(Str $option) { $self->add_option($option) }
+ multi method options(ArrayRef $option) { $self->add_option($option) }
+ multi method options(Any $) { $self->_options }
}
isa => Str,
required => 1
);
-
+
has 'columns' => (
metaclass => 'Collection::Hash',
is => 'rw',
},
default => sub { my %hash = (); tie %hash, 'Tie::IxHash'; return \%hash },
);
-
+
has 'type' => (
is => 'rw',
isa => Str,
required => 1
);
- has 'options' => (
- is => 'rw',
- isa => ArrayRef,
- auto_deref => 1
- );
-
has 'extra' => (
is => 'rw',
isa => HashRef,