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=707e9fe75840168ba1c1c29fda041befb6b097db;hpb=df0fcae90ce59913f26ae281ad8124952cf11542;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 707e9fe..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 ) } @@ -45,7 +51,7 @@ sub previous_version_set { return undef } else { $self->_dec_version; - return [$self->_version, $self->_version + 1]; + return [$self->_version + 1, $self->_version]; } } @@ -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.