Jifty
view release on metacpan or search on metacpan
lib/Jifty/Upgrade.pm view on Meta::CPAN
C<since> is meant to be called by subclasses of C<Jifty::Upgrade>.
Calling it signifies that I<SUB> should be run when upgrading to
version I<VERSION>, after tables and columns are added, but before
tables and columns are removed. If multiple subroutines are given for
the same version, they are run in order that they were set up.
=cut
sub since {
my ( $version, $sub ) = @_;
my $package = (caller)[0];
if ( exists $UPGRADES{$package}{$version} ) {
$UPGRADES{$package}{$version} =
sub { $UPGRADES{$package}{$version}->(); $sub->(); }
}
else {
$UPGRADES{$package}{$version} = $sub;
}
}
=head2 versions
lib/Jifty/Upgrade.pm view on Meta::CPAN
sub rename {
my (%args) = @_;
$args{table} ||= $args{in};
die "Must provide a table to rename" unless $args{table};
Jifty::Util->require( $args{table} );
my $table_name = $args{table}->table;
my $package = (caller)[0];
my $renamed = $package->just_renamed || {};
if ( $args{column} ) {
Jifty->handle->rename_column( %args, table => $table_name );
# Mark this table column as renamed
$renamed->{ $table_name }{'drop'}{ $args{'column'} } = $args{'to'};
$renamed->{ $table_name }{'add' }{ $args{'to' } } = $args{'column'};
}
lib/Jifty/Util.pm view on Meta::CPAN
}
sub _require {
my $self = shift;
my %args = ( module => undef, quiet => undef, @_);
my $class = $args{'module'};
# Quick hack to silence warnings.
# Maybe some dependencies were lost.
unless ($class) {
Jifty->log->error(sprintf("no class was given at %s line %d\n", (caller)[1,2]));
return 0;
}
return 1 if $self->already_required($class);
# .pm might already be there in a weird interaction in Module::Pluggable
my $file = $class;
$file .= ".pm"
unless $file =~ /\.pm$/;
( run in 0.410 second using v1.01-cache-2.11-cpan-a3c8064c92c )