Clean up option parsing and identifier quoting in Producer::PostgreSQL
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Schema / Object.pm
1 package SQL::Translator::Schema::Object;
2
3 =head1 NAME
4
5 SQL::Translator::Schema::Object - Base class for SQL::Translator schema objects
6
7 =head1 SYNOPSIS
8
9     package SQL::Translator::Schema::Foo;
10     use Moo;
11     extends 'SQL::Translator::Schema::Object';
12
13 =head1 DESCRIPTION
14
15 Base class for Schema objects. A Moo class consuming the following
16 roles.
17
18 =over
19
20 =item L<SQL::Translator::Role::Error>
21
22 Provides C<< $obj->error >>, similar to L<Class::Base>.
23
24 =item L<SQL::Translator::Role::BuildArgs>
25
26 Removes undefined constructor arguments, for backwards compatibility.
27
28 =item L<SQL::Translator::Schema::Role::Extra>
29
30 Provides an C<extra> attribute storing a hashref of arbitrary data.
31
32 =item L<SQL::Translator::Schema::Role::Compare>
33
34 Provides an C<< $obj->equals($other) >> method for testing object
35 equality.
36
37 =back
38
39 =cut
40
41 use Moo 1.000003;
42
43 # screw you PAUSE
44 our $VERSION = '1.59';
45
46 with qw(
47   SQL::Translator::Role::Error
48   SQL::Translator::Role::BuildArgs
49   SQL::Translator::Schema::Role::Extra
50   SQL::Translator::Schema::Role::Compare
51 );
52
53 1;