Port to Moo
[dbsrgits/DBIx-Class-DeploymentHandler.git] / lib / DBIx / Class / DeploymentHandler / Types.pm
1 package DBIx::Class::DeploymentHandler::Types;
2 use strict;
3 use warnings;
4
5 # ABSTRACT: Types internal to DBIx::Class::DeploymentHandler
6
7 use Sub::Quote 'quote_sub';
8
9 use Sub::Exporter -setup => {
10   exports => [ qw(Storage ResultSet StrSchemaVersion) ],
11 };
12
13 sub ResultSet {
14 quote_sub(q{
15      use Check::ISA;
16      obj($_[0], 'DBIx::Class::ResultSet')
17         or die 'version_rs should be a DBIx::Class::ResultSet!'
18   })
19 }
20
21 sub Storage {
22 quote_sub(q{
23      use Check::ISA;
24      obj($_[0], 'DBIx::Class::Storage')
25         or die 'storage should be a DBIx::Class::Storage!'
26   })
27 }
28
29 sub StrSchemaVersion {
30   quote_sub(q{
31     die(defined $_[0]
32       ? "Schema version (currently '$_[0]') must be a string"
33       : 'Schema version must be defined'
34     ) unless ref(\$_[0]) eq 'SCALAR'
35   })
36 }
37
38 1;
39
40 # vim: ts=2 sw=2 expandtab
41
42 __END__
43