add DBIHandle
[dbsrgits/SQL-Translator-2.0-ish.git] / lib / SQL / Translator / Types.pm
index 7625f85..765b0fc 100644 (file)
@@ -1,5 +1,6 @@
 package SQL::Translator::Types;
-use MooseX::Types -declare, [qw(Column Constraint Index Procedure Schema Table Trigger View)];
+use MooseX::Types::Moose qw(ArrayRef CodeRef Str);
+use MooseX::Types -declare, [qw(Column Constraint Index Procedure Schema Table Trigger View DBIHandle)];
 
 class_type Column, { class => 'SQL::Translator::Object::Column' };
 class_type Constraint, { class => 'SQL::Translator::Object::Constraint' };
@@ -10,4 +11,19 @@ class_type Table, { class => 'SQL::Translator::Object::Table' };
 class_type Trigger, { class => 'SQL::Translator::Object::Trigger' };
 class_type View, { class => 'SQL::Translator::Object::View' };
 
+subtype DBIHandle, as 'DBI::db';
+
+coerce DBIHandle,
+  from Str,
+  via(\&_coerce_dbihandle_from_str),
+  from ArrayRef,
+  via(\&_coerce_dbihandle_from_arrayref);
+  from CodeRef,
+  via(\&_coerce_dbihandle_from_coderef);
+
+
+sub coerce_dbihandle_from_str { }
+sub coerce_dbihandle_from_arrayref { }
+sub coerce_dbihandle_from_coderef { }
+
 1;