use namespace::autoclean
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Object / Procedure.pm
CommitLineData
c5051351 1package SQL::Translator::Object::Procedure;
abb2c327 2use namespace::autoclean;
c5051351 3use Moose;
7c560496 4use MooseX::Types::Moose qw(HashRef Int Maybe Str);
e157d782 5use MooseX::AttributeHelpers;
c0e05758 6use SQL::Translator::Types qw();
76764964 7use SQL::Translator::Object::Schema;
cc73c25e 8extends 'SQL::Translator::Object';
c5051351 9
109263d0 10has 'name' => (
11 is => 'rw',
12 isa => Str,
13 required => 1
14);
15
16has 'contents' => (
17 is => 'rw',
18 isa => Str,
19 required => 1
20);
21
22has 'parameters' => (
e157d782 23 metaclass => 'Collection::Hash',
109263d0 24 is => 'rw',
25 isa => Maybe[HashRef[Int|Str]],
e157d782 26 provides => {
27 exists => 'exists_parameter',
28 keys => 'parameter_ids',
29 get => 'get_parameter',
30 set => 'set_parameter',
31 },
109263d0 32 required => 0
33);
34
35has 'owner' => (
36 is => 'rw',
37 isa => Str,
38 required => 1
39);
40
41has 'comments' => (
42 is => 'rw',
43 isa => Str,
44 required => 0
45);
46
47has 'schema' => (
48 is => 'rw',
49 isa => Schema,
50 required => 1,
51 default => sub { SQL::Translator::Object::Schema->new }
52);
eeb819a1 53
7aa485df 54__PACKAGE__->meta->make_immutable;
55
c5051351 561;