package SQL::Translator;
-use Moo 1.000003;
+use Moo;
our ( $DEFAULT_SUB, $DEBUG, $ERROR );
-our $VERSION = '0.11013';
+our $VERSION = '0.11016';
$DEBUG = 0 unless defined $DEBUG;
$ERROR = "";
use Sub::Quote qw(quote_sub);
use SQL::Translator::Producer;
use SQL::Translator::Schema;
-use SQL::Translator::Utils qw(throw ex2err);
+use SQL::Translator::Utils qw(throw ex2err carp_ro);
$DEFAULT_SUB = sub { $_[0]->schema } unless defined $DEFAULT_SUB;
has $_ => (
is => 'rw',
default => quote_sub(q{ 0 }),
- coerce => sub { $_[0] ? 1 : 0 },
+ coerce => quote_sub(q{ $_[0] ? 1 : 0 }),
) foreach qw(add_drop_table no_comments show_warnings trace validate);
# quote_identifiers is on by default, use a 0-but-true as indicator
has quote_identifiers => (
is => 'rw',
default => quote_sub(q{ '0E0' }),
- coerce => sub { $_[0] || 0 },
+ coerce => quote_sub(q{ $_[0] || 0 }),
);
sub quote_table_names {
has producer_type => ( is => 'rwp', init_arg => undef );
+around producer_type => carp_ro('producer_type');
+
has producer_args => ( is => 'rw', default => quote_sub(q{ +{} }) );
around producer_args => sub {
has parser_type => ( is => 'rwp', init_arg => undef );
+around parser_type => carp_ro('parser_type');
+
has parser_args => ( is => 'rw', default => quote_sub(q{ +{} }) );
around parser_args => sub {
has filename => (
is => 'rw',
isa => sub {
- my $filename = shift;
- if (-d $filename) {
- throw("Cannot use directory '$filename' as input source");
- } elsif (not -f _ && -r _) {
- throw("Cannot use '$filename' as input source: ".
- "file does not exist or is not readable.");
+ foreach my $filename (ref($_[0]) eq 'ARRAY' ? @{$_[0]} : $_[0]) {
+ if (-d $filename) {
+ throw("Cannot use directory '$filename' as input source");
+ }
+ elsif (not -f _ && -r _) {
+ throw("Cannot use '$filename' as input source: ".
+ "file does not exist or is not readable.");
+ }
}
},
);
predicate => '_has_schema',
);
+around schema => carp_ro('schema');
+
around reset => sub {
my $orig = shift;
my $self = shift;
=head1 COPYRIGHT
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; version 2.
+Copyright 2012 the SQL::Translator authors, as listed in L</AUTHORS>.
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
+=head1 LICENSE
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-USA
+This library is free software and may be distributed under the same terms as
+Perl 5 itself.
=head1 BUGS