current state of this test
[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'],
579c2829 20 isa => ArrayRef,
28bd628e 21 handles => {
92f89ed0 22 _parameters => 'elements',
28bd628e 23 add_parameter => 'push',
24 remove_last_parameter => 'pop',
0c86c13a 25 },
26 default => sub { [] },
0c86c13a 27
4f4fd192 28 );
29
30 has 'owner' => (
31 is => 'rw',
32 isa => Str,
33 required => 1
34 );
0c86c13a 35
36 multi method parameters(Str $parameter) { $self->add_parameter($parameter) }
37 multi method parameters(ArrayRef $parameter) { $self->add_parameter($parameter) }
a20ea10d 38 multi method parameters { wantarray ? @{$self->_parameters} : $self->_parameters }
4f4fd192 39}