package SQL::Translator;
-use Moo;
+use Moo 1.000003;
our ( $DEFAULT_SUB, $DEBUG, $ERROR );
-require 5.005;
-
-our $VERSION = '0.11013';
+our $VERSION = '0.11013_02';
$DEBUG = 0 unless defined $DEBUG;
$ERROR = "";
use File::Spec::Functions qw(catfile);
use File::Basename qw(dirname);
use IO::Dir;
+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 => sub { 0 },
- coerce => sub { $_[0] ? 1 : 0 },
+ default => quote_sub(q{ 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
# so we can allow individual producers to change the default
has quote_identifiers => (
is => 'rw',
- default => sub { '0E0' },
- coerce => sub { $_[0] || 0 },
+ default => quote_sub(q{ '0E0' }),
+ coerce => quote_sub(q{ $_[0] || 0 }),
);
sub quote_table_names {
has producer_type => ( is => 'rwp', init_arg => undef );
-has producer_args => ( is => 'rw', default => sub { +{} } );
+around producer_type => carp_ro('producer_type');
+
+has producer_args => ( is => 'rw', default => quote_sub(q{ +{} }) );
around producer_args => sub {
my $orig = shift;
has parser_type => ( is => 'rwp', init_arg => undef );
-has parser_args => ( is => 'rw', default => sub { +{} } );
+around parser_type => carp_ro('parser_type');
+
+has parser_args => ( is => 'rw', default => quote_sub(q{ +{} }) );
around parser_args => sub {
my $orig = shift;
has filters => (
is => 'rw',
- default => sub { [] },
+ default => quote_sub(q{ [] }),
coerce => sub {
my @filters;
# Set. Convert args to list of [\&code,@args]
predicate => '_has_schema',
);
+around schema => carp_ro('schema');
+
around reset => sub {
my $orig = shift;
my $self = shift;