remove unneeded { }
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Parser.pm
1 use MooseX::Declare;
2 class SQL::Translator::Parser {
3     use MooseX::Types::Moose qw(Maybe Str);
4     use SQL::Translator::Types qw(DBIHandle Translator);
5
6     has 'dbh' => (
7         isa => DBIHandle,
8         is => 'ro',
9         predicate => 'has_dbh',
10     );
11
12     has 'filename' => (
13         isa => Str,
14         is => 'ro',
15         predicate => 'has_ddl',
16     );
17
18     has 'type' => (
19         isa => Maybe[Str],
20         is => 'ro',
21         predicate => 'has_type',
22     );
23
24     has 'translator' => (
25         isa => Translator,
26         is => 'ro',
27         weak_ref => 1,
28         required => 1,
29         handles => [ qw(schema) ],
30     );
31
32     method BUILD(@) {
33         my $role = __PACKAGE__;
34         if ($self->has_dbh) {
35             $role .= '::DBI';
36         } elsif ($self->has_type || $self->has_ddl) {
37             $role .= '::DDL';
38         }
39         Class::MOP::load_class($role);
40         $role->meta->apply($self);
41         $self->_subclass();
42     }
43 }