X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FDeploymentHandler%2FVersionHandler%2FMonotonic.pm;h=e9fdff265ab4a69a35ad940c11a83da88b36622f;hb=refs%2Fheads%2Fmoo-port;hp=b3dcfacdbfb108c4e1c4ed7d9680a9f9978530d8;hpb=1bf789ff40fc19c3817854b8a1b544a3742a12be;p=dbsrgits%2FDBIx-Class-DeploymentHandler.git diff --git a/lib/DBIx/Class/DeploymentHandler/VersionHandler/Monotonic.pm b/lib/DBIx/Class/DeploymentHandler/VersionHandler/Monotonic.pm index b3dcfac..e9fdff2 100644 --- a/lib/DBIx/Class/DeploymentHandler/VersionHandler/Monotonic.pm +++ b/lib/DBIx/Class/DeploymentHandler/VersionHandler/Monotonic.pm @@ -1,33 +1,39 @@ package DBIx::Class::DeploymentHandler::VersionHandler::Monotonic; -use Moose; +use Moo; +use MooX::Types::MooseLike::Base qw(Int); + +# ABSTRACT: Obvious version progressions + use Carp 'croak'; with 'DBIx::Class::DeploymentHandler::HandlesVersioning'; has schema_version => ( - isa => 'Int', + isa => Int, is => 'ro', required => 1, ); has database_version => ( - isa => 'Int', + isa => Int, is => 'ro', required => 1, ); has to_version => ( - isa => 'Int', + isa => Int, is => 'ro', - lazy_build => 1, + lazy => 1, + builder => '_build_to_version', ); sub _build_to_version { $_[0]->schema_version } has _version => ( is => 'rw', - isa => 'Int', - lazy_build => 1, + isa => Int, + lazy => 1, + builder => '_build__version', ); sub _inc_version { $_[0]->_version($_[0]->_version + 1 ) } @@ -37,7 +43,7 @@ sub _build__version { $_[0]->database_version } sub previous_version_set { my $self = shift; - if ($self->to_vesion > $self->_version) { + if ($self->to_version > $self->_version) { croak "you are trying to downgrade and your current version is less\n". "than the version you are trying to downgrade to. Either upgrade\n". "or update your schema" @@ -45,13 +51,13 @@ sub previous_version_set { return undef } else { $self->_dec_version; - return [$self->_version, $self->_version + 1]; + return [$self->_version + 1, $self->_version]; } } sub next_version_set { my $self = shift; - if ($self->to_vesion < $self->_version) { + if ($self->to_version < $self->_version) { croak "you are trying to upgrade and your current version is greater\n". "than the version you are trying to upgrade to. Either downgrade\n". "or update your schema" @@ -63,10 +69,14 @@ sub next_version_set { } } -__PACKAGE__->meta->make_immutable; - 1; +# vim: ts=2 sw=2 expandtab + __END__ -vim: ts=2 sw=2 expandtab +=head1 SEE ALSO + +This class is an implementation of +L. Pretty much all the +documentation is there.