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