2 class SQL::Translator::Object {
4 use MooseX::MultiMethods;
5 use MooseX::Types::Moose qw(Any ArrayRef Str);
8 metaclass => 'Collection::Array',
12 push => 'add_comment',
13 pop => 'remove_last_comment',
15 default => sub { [] },
20 metaclass => 'Collection::Array',
25 pop => 'remove_last_option',
27 default => sub { [] },
31 multi method comments(Str $comment) { $self->add_comment($comment) }
32 multi method comments(ArrayRef $comment) { $self->add_comment($comment) }
33 multi method comments(Any $) { return wantarray ? @{$self->_comments} : join "\n", $self->_comments }
35 multi method options(Str $option) { $self->add_option($option) }
36 multi method options(ArrayRef $option) { $self->add_option($option) if scalar @$option }
37 multi method options(Any $) { wantarray ? @{$self->_options} : $self->_options }