Commit | Line | Data |
4f4fd192 |
1 | use MooseX::Declare; |
ebf2721d |
2 | class 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 | } |