X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSQL%2FTranslator.pm;h=9a1e235c12d6e800073516af55d198fb2c20725c;hb=f56361ad7eea3245af7ec5b0eaed5ca439bd6168;hp=53867ea50b4e0e7c7f56a1ce37ddf47205bbbb97;hpb=6419f0f316c3ef2ff0c9143e7b1ad54731f54588;p=dbsrgits%2FSQL-Translator.git diff --git a/lib/SQL/Translator.pm b/lib/SQL/Translator.pm index 53867ea..9a1e235 100644 --- a/lib/SQL/Translator.pm +++ b/lib/SQL/Translator.pm @@ -1,11 +1,9 @@ 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 = ""; @@ -16,9 +14,10 @@ use File::Find; 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; @@ -90,16 +89,16 @@ sub BUILD { 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 { @@ -137,7 +136,9 @@ around producer => sub { 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; @@ -158,7 +159,9 @@ around parser => sub { 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; @@ -167,7 +170,7 @@ around parser_args => sub { has filters => ( is => 'rw', - default => sub { [] }, + default => quote_sub(q{ [] }), coerce => sub { my @filters; # Set. Convert args to list of [\&code,@args] @@ -273,6 +276,8 @@ has schema => ( predicate => '_has_schema', ); +around schema => carp_ro('schema'); + around reset => sub { my $orig = shift; my $self = shift;