Use 'isa' checks for attribute validation
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Types.pm
1 package SQL::Translator::Types;
2 use strictures 1;
3
4 use SQL::Translator::Utils qw(throw);
5 use Scalar::Util qw(blessed);
6
7 use Exporter qw(import);
8 our @EXPORT_OK = qw(schema_obj);
9
10 sub 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
20 1;