port the reaction type system to MooseX::Types
wreis [Mon, 7 Jan 2008 16:14:58 +0000 (16:14 +0000)]
12 files changed:
Makefile.PL
lib/Reaction/Class.pm
lib/Reaction/InterfaceModel/Action/DBIC/Result/Delete.pm
lib/Reaction/InterfaceModel/Action/DBIC/Result/Update.pm
lib/Reaction/InterfaceModel/Action/DBIC/ResultSet/Create.pm
lib/Reaction/InterfaceModel/Action/DBIC/ResultSet/DeleteAll.pm
lib/Reaction/Types/Core.pm
lib/Reaction/Types/DBIC.pm
lib/Reaction/Types/DateTime.pm
lib/Reaction/Types/Email.pm
lib/Reaction/Types/File.pm
lib/Reaction/UI/ViewPort/Field/TimeRange.pm

index 2cab1d2..d4def09 100644 (file)
@@ -30,6 +30,7 @@ requires 'Email::MIME';
 requires 'Email::MIME::Creator';
 requires 'Text::CSV_XS';
 requires 'Devel::Declare' => '0.001006';
+requires 'MooseX::Types' => '0.04';
 
 catalyst;
 
index fcaf0a5..b3cf253 100644 (file)
@@ -3,7 +3,7 @@ package Reaction::Class;
 use Moose qw(confess);
 use Sub::Exporter ();
 use Sub::Name ();
-use Reaction::Types::Core;
+use Reaction::Types::Core ':all';
 use Reaction::Object;
 
 sub exporter_for_package {
index edc3c79..14ae6dc 100644 (file)
@@ -1,10 +1,10 @@
 package Reaction::InterfaceModel::Action::DBIC::Result::Delete;
 
-use Reaction::Types::DBIC;
+use Reaction::Types::DBIC 'Row';
 use Reaction::Class;
 
 class Delete is 'Reaction::InterfaceModel::Action', which {
-  has '+target_model' => (isa => 'DBIx::Class::Row');
+  has '+target_model' => (isa => 'Row');
 
   sub can_apply { 1 }
 
index a1387ef..34ac7f2 100644 (file)
@@ -1,14 +1,14 @@
 package Reaction::InterfaceModel::Action::DBIC::Result::Update;
 
 use Reaction::InterfaceModel::Action;
-use Reaction::Types::DBIC;
+use Reaction::Types::DBIC 'Row';
 use Reaction::Class;
 
 class Update is 'Reaction::InterfaceModel::Action', which {
 
   does 'Reaction::InterfaceModel::Action::DBIC::Role::CheckUniques';
 
-  has '+target_model' => (isa => 'DBIx::Class::Row');
+  has '+target_model' => (isa => 'Row');
 
   implements BUILD => as {
     my ($self) = @_;
index f67a77c..07e949b 100644 (file)
@@ -1,6 +1,6 @@
 package Reaction::InterfaceModel::Action::DBIC::ResultSet::Create;
 
-use Reaction::Types::DBIC;
+use Reaction::Types::DBIC 'ResultSet';
 use Reaction::Class;
 use Reaction::InterfaceModel::Action;
 use Reaction::InterfaceModel::Action::DBIC::Role::CheckUniques;
@@ -9,7 +9,7 @@ class Create is 'Reaction::InterfaceModel::Action', which {
 
   does 'Reaction::InterfaceModel::Action::DBIC::Role::CheckUniques';
 
-  has '+target_model' => (isa => 'DBIx::Class::ResultSet');
+  has '+target_model' => (isa => 'ResultSet');
 
   implements do_apply => as {
     my $self = shift;
index e1b2ed6..e6dfe3a 100644 (file)
@@ -1,12 +1,12 @@
 package Reaction::InterfaceModel::Action::DBIC::ResultSet::DeleteAll;
 
-use Reaction::Types::DBIC;
+use Reaction::Types::DBIC 'ResultSet';
 use Reaction::Class;
 use Reaction::InterfaceModel::Action;
 
 class DeleteAll is 'Reaction::InterfaceModel::Action', which {
 
-  has '+target_model' => (isa => 'DBIx::Class::ResultSet');
+  has '+target_model' => (isa => 'ResultSet');
 
   sub can_apply { 1 }
 
index cb904a3..8faa6ed 100644 (file)
@@ -1,6 +1,10 @@
 package Reaction::Types::Core;
 
-use Moose::Util::TypeConstraints;
+use MooseX::Types
+    -declare => [qw/SimpleStr NonEmptySimpleStr Password StrongPassword
+                    NonEmptyStr PositiveNum PositiveInt SingleDigit/];
+
+use MooseX::Types::Moose qw/Str Num Int/;
 
 subtype 'SimpleStr'
   => as 'Str'
@@ -22,7 +26,8 @@ subtype 'Password'
 subtype 'StrongPassword'
   => as 'Password'
   => where { (length($_) > 7) && (m/[^a-zA-Z]/) }
-  => message { "Must be between 8 and 255 chars, and contain a non-alpha char" };
+  => message {
+       "Must be between 8 and 255 chars, and contain a non-alpha char" };
 
 subtype 'NonEmptyStr'
   => as 'Str'
index 66601c7..3efd7db 100644 (file)
@@ -1,17 +1,19 @@
 package Reaction::Types::DBIC;
 
-use Moose::Util::TypeConstraints;
+use MooseX::Types
+    -declare => [qw/ResultSet Row/];
 
+use MooseX::Types::Moose 'Object';
 use DBIx::Class::ResultSet;
 
-subtype 'DBIx::Class::ResultSet'
+subtype 'ResultSet'
   => as 'Object'
   => where { $_->isa('DBIx::Class::ResultSet') };
 
 use DBIx::Class::Core;
 use DBIx::Class::Row;
 
-subtype 'DBIx::Class::Row'
+subtype 'Row'
   => as 'Object'
   => where { $_->isa('DBIx::Class::Row') };
 
index 60fbabd..b3797cf 100644 (file)
@@ -1,7 +1,9 @@
 package Reaction::Types::DateTime;
 
-use Moose::Util::TypeConstraints;
+use MooseX::Types
+    -declare => [qw/DateTime SpanSet TimeRangeCollection/];
 
+use MooseX::Types::Moose qw/Object ArrayRef/;
 use DateTime;
 
 subtype 'DateTime'
@@ -11,7 +13,7 @@ subtype 'DateTime'
 
 use DateTime::SpanSet;
 
-subtype 'DateTime::SpanSet'
+subtype 'SpanSet'
   => as 'Object'
   => where { $_->isa('DateTime::SpanSet') };
 
index 0bf9adc..faa165f 100644 (file)
@@ -1,6 +1,9 @@
 package Reaction::Types::Email;
 
-use Moose::Util::TypeConstraints;
+use MooseX::Types
+    -declare => [qw/EmailAddress/];
+
+use Reaction::Types::Core 'NonEmptySimpleStr';
 use Email::Valid;
 
 subtype 'EmailAddress'
index dc17e36..6274a7b 100644 (file)
@@ -1,7 +1,9 @@
 package Reaction::Types::File;
 
-use Moose::Util::TypeConstraints;
+use MooseX::Types
+    -declare => [qw/File/];
 
+use MooseX::Types::Moose 'Object';
 use Catalyst::Request::Upload;
 
 subtype 'File'
index 6f6573e..a63fdf4 100644 (file)
@@ -8,7 +8,7 @@ use Time::ParseDate ();
 
 class TimeRange is 'Reaction::UI::ViewPort::Field', which {
 
-  has '+value' => (isa => 'DateTime::SpanSet');
+  has '+value' => (isa => 'SpanSet');
 
   #has '+layout' => (default => 'timerange');