Who puts DONATIONS in their pod? Seriously?
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / WithReasonableDefaults.pm
CommitLineData
41219a5d 1package DBIx::Class::DeploymentHandler::WithReasonableDefaults;
2use Moose::Role;
3
9deabd1f 4# ABSTRACT: Make default arguments to a few methods sensible
5
41219a5d 6requires qw( prepare_upgrade prepare_downgrade database_version schema_version );
7
4a65f60b 8around prepare_upgrade => sub {
41219a5d 9 my $orig = shift;
10 my $self = shift;
11
12 my $from_version = shift || $self->database_version;
13 my $to_version = shift || $self->schema_version;
14 my $version_set = shift || [$from_version, $to_version];
15
16 $self->$orig($from_version, $to_version, $version_set);
17};
18
19
4a65f60b 20around prepare_downgrade => sub {
21 my $orig = shift;
22 my $self = shift;
23
24 my $from_version = shift || $self->database_version;
25 my $to_version = shift || $self->schema_version;
26 my $version_set = shift || [$to_version, $from_version];
27
28 $self->$orig($from_version, $to_version, $version_set);
29};
30
c8a2f7bd 31around install_resultsource => sub {
32 my $orig = shift;
33 my $self = shift;
34 my $source = shift;
35 my $version = shift || $self->to_version;
36
37 $self->$orig($source, $version);
38};
4a65f60b 39
41219a5d 401;
41
42__END__
43
44vim: ts=2 sw=2 expandtab