use Moose::Role gets accompanied with no Moose::Role
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Parser.pm
CommitLineData
cc73c25e 1package SQL::Translator::Parser;
2use Moose;
d6201a5e 3use MooseX::Types::Moose qw(Str);
4use SQL::Translator::Types qw(DBIHandle);
5#extends 'SQL::Translator';
cc73c25e 6
d6201a5e 7my $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
15my $apply_role_ddl = sub { };
16
17has 'dbh' => (
18 isa => DBIHandle,
19 is => 'ro',
20 predicate => 'has_dbh',
21 trigger => $apply_role_dbi,
22);
23
24has 'ddl' => (
25 isa => Str,
26 is => 'ro',
27 predicate => 'has_ddl',
28 trigger => $apply_role_ddl,
29);
30
31sub BUILD {}
32
33after 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
41no Moose;
42__PACKAGE__->meta->make_immutable;
cc73c25e 431;