Use 'isa' checks for attribute validation
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Types.pm
CommitLineData
45287c81 1package SQL::Translator::Types;
2use strictures 1;
3
4use SQL::Translator::Utils qw(throw);
5use Scalar::Util qw(blessed);
6
7use Exporter qw(import);
8our @EXPORT_OK = qw(schema_obj);
9
10sub schema_obj {
11 my ($class) = @_;
12 my $name = lc $class;
13 $class = 'SQL::Translator::Schema' . ($class eq 'Schema' ? '' : "::$class");
14 return sub {
15 throw("Not a $name object")
16 unless blessed($_[0]) and $_[0]->isa($class);
17 };
18}
19
201;