package KiokuDB::Role::Upgrade::Handlers::Table; use Moose::Role; use namespace::clean; with qw(KiokuDB::Role::Upgrade::Handlers); requires "kiokudb_upgrade_handlers_table"; no warnings 'uninitialized'; sub kiokudb_upgrade_handler { my ( $class, $version ) = @_; my $table = $class->kiokudb_upgrade_handlers_table; return grep { defined } $table->{$version}; } # ex: set sw=4 et: __PACKAGE__ __END__ =pod =head1 NAME KiokuDB::Role::Upgrade::Handlers::Table - A role for classes =head1 SYNOPSIS with qw(KiokuDB::Role::Upgrade::Handlers::Table); use constant kiokudb_upgrade_handlers_table => { # like the individual entries in class_version_table "0.01" => "0.02", "0.02" => sub { ... }, }; =head1 DESCRIPTION This class lets you provide the version handling table as part of the class definition, instead of as arguments to the L handle constructor. See L more details and L for a lower level alternative.