X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler%2FWithReasonableDefaults.pm;h=000a1045b66dc6ba0ee7530b61dc351a685aa3f7;hb=refs%2Fheads%2Fmoo-port;hp=e9b85f7a7c6d846336d1d4f2bf8c8ba49a7b673d;hpb=764492e328b24c54422291b6268e370ce63cb46e;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/lib/DBIx/Class/DeploymentHandler/WithReasonableDefaults.pm b/lib/DBIx/Class/DeploymentHandler/WithReasonableDefaults.pm index e9b85f7..000a104 100644 --- a/lib/DBIx/Class/DeploymentHandler/WithReasonableDefaults.pm +++ b/lib/DBIx/Class/DeploymentHandler/WithReasonableDefaults.pm @@ -1,5 +1,5 @@ package DBIx::Class::DeploymentHandler::WithReasonableDefaults; -use Moose::Role; +use Moo::Role; # ABSTRACT: Make default arguments to a few methods sensible @@ -8,12 +8,13 @@ requires qw( prepare_upgrade prepare_downgrade database_version schema_version ) around prepare_upgrade => sub { my $orig = shift; my $self = shift; + my $args = shift || {}; - my $from_version = shift || $self->database_version; - my $to_version = shift || $self->schema_version; - my $version_set = shift || [$from_version, $to_version]; + $args->{from_version} ||= $self->database_version; + $args->{to_version} ||= $self->schema_version; + $args->{version_set} ||= [$args->{from_version}, $args->{to_version}]; - $self->$orig($from_version, $to_version, $version_set); + $self->$orig($args); }; @@ -21,11 +22,13 @@ around prepare_downgrade => sub { my $orig = shift; my $self = shift; - my $from_version = shift || $self->database_version; - my $to_version = shift || $self->schema_version; - my $version_set = shift || [$from_version, $to_version]; + my $args = shift || {}; - $self->$orig($from_version, $to_version, $version_set); + $args->{to_version} ||= $self->database_version; + $args->{from_version} ||= $self->schema_version; + $args->{version_set} ||= [$args->{from_version}, $args->{to_version}]; + + $self->$orig($args); }; around install_resultsource => sub { @@ -62,9 +65,9 @@ Defaulted args: Defaulted args: - my $from_version = $self->database_version; - my $to_version = $self->schema_version; - my $version_set = [$to_version]; + my $from_version = $self->schema_version; + my $to_version = $self->data_version; + my $version_set = [$from_version, $to_version]; =head2 install_resultsource