change Undef to an empty ArrayRef and remove auto_deref
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Object / Procedure.pm
CommitLineData
4f4fd192 1use MooseX::Declare;
ebf2721d 2class SQL::Translator::Object::Procedure extends SQL::Translator::Object {
1c607f61 3 use MooseX::Types::Moose qw(ArrayRef Str);
0c86c13a 4 use MooseX::MultiMethods;
4f4fd192 5
6 has 'name' => (
7 is => 'rw',
8 isa => Str,
9 required => 1
10 );
11
ddd6c19a 12 has 'sql' => (
4f4fd192 13 is => 'rw',
14 isa => Str,
ddd6c19a 15 required => 1
4f4fd192 16 );
17
0c86c13a 18 has '_parameters' => (
28bd628e 19 traits => ['Array'],
4f4fd192 20 is => 'rw',
579c2829 21 isa => ArrayRef,
28bd628e 22 handles => {
23 add_parameter => 'push',
24 remove_last_parameter => 'pop',
0c86c13a 25 },
26 default => sub { [] },
27 auto_deref => 1,
28
4f4fd192 29 );
30
31 has 'owner' => (
32 is => 'rw',
33 isa => Str,
34 required => 1
35 );
0c86c13a 36
37 multi method parameters(Str $parameter) { $self->add_parameter($parameter) }
38 multi method parameters(ArrayRef $parameter) { $self->add_parameter($parameter) }
39 multi method parameters(Any $) { wantarray ? @{$self->_parameters} : $self->_parameters }
4f4fd192 40}