move backcompat into Compat.pm and apply the role to Object.pm
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Object / Compat.pm
1 use MooseX::Declare;
2 role SQL::Translator::Object::Compat {
3     use MooseX::MultiMethods;
4
5     multi method fields(Str $columns) {
6         my @columns = split /\s*,\s*/, $columns;
7         for my $column (@columns) {
8             die "Column '$column' does not exist!" unless $self->table->exists_column($column);
9             $self->add_column($self->table->get_column($column));
10         }
11         $self->column_ids;
12     }
13
14     multi method fields(ArrayRef $columns) {
15         for my $column (@$columns) {
16             die "Column '$column' does not exist!" unless $self->table->exists_column($column);
17             $self->add_column($self->table->get_column($column));
18         }
19         $self->column_ids;
20     }
21
22     multi method fields(Any $) { $self->column_ids }
23
24     method get_fields { $self->get_columns }
25     method get_field { $self->get_column }
26     method field_names { $self->column_ids }
27     method reference_fields { $self->reference_columns }
28 }