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'], |
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 | } |