move from no Moose[::Role] to use namespace::autoclean
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Parser.pm
1 package SQL::Translator::Parser;
2 use namespace::autoclean;
3 use Moose;
4 use MooseX::Types::Moose qw(Str);
5 use SQL::Translator::Types qw(DBIHandle);
6 #extends 'SQL::Translator';
7
8 my $apply_role_dbi = sub {
9     my $self = shift;
10     my $class = __PACKAGE__ . '::DBI';
11     Class::MOP::load_class($class);
12     $class->meta->apply($self);
13     $self->_subclass();
14 };
15
16 my $apply_role_ddl = sub { };
17
18 has 'dbh' => (
19     isa => DBIHandle,
20     is => 'ro',
21     predicate => 'has_dbh',
22     trigger => $apply_role_dbi,
23 );
24
25 has 'ddl' => (
26     isa => Str,
27     is => 'ro',
28     predicate => 'has_ddl',
29     trigger => $apply_role_ddl,
30 );
31
32 sub BUILD {}
33
34 after BUILD => sub {
35     my $self = shift;
36     my $schema = SQL::Translator::Object::Schema->new({ name => $self->schema_name });
37     $self->_add_tables($schema);
38     use Data::Dumper;
39     print Dumper($schema);
40 };
41
42 __PACKAGE__->meta->make_immutable;
43
44 1;