X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FHelper%2FComponentGen.pm;h=a5d1f1ed6c1a424fa2fbe7c1764535b0cae95250;hb=b78e897cad676d1d8c5dee715b50a7cceebfa454;hp=6ccdb45d42cf5de5432590a41b984b6b27b4cfaa;hpb=39a0e31c35eccd468644805bd4f410a44d561a50;p=catagits%2FCatalyst-Devel.git diff --git a/lib/Catalyst/Helper/ComponentGen.pm b/lib/Catalyst/Helper/ComponentGen.pm index 6ccdb45..a5d1f1e 100644 --- a/lib/Catalyst/Helper/ComponentGen.pm +++ b/lib/Catalyst/Helper/ComponentGen.pm @@ -1,8 +1,33 @@ package Catalyst::Helper::ComponentGen; + use Moose; +use Moose::Util::TypeConstraints; +use MooseX::Types -declare [qw/ TestDir LongComponentType ValidComponentName /]; use namespace::autoclean; + extends { 'Catalyst::Helper' }; +# subtypes and coercions +# validate test dir, component name +# make the check in $self->{test_dir} be less fucking stupid + +has 'test_dir' => ( + is => 'ro', + isa => TestDir, +); + +has 'long_comp_type' => ( + is => 'ro', + isa => LongComponentType, + initializer => 'long_type', +); + +has 'component_name' => ( + is => 'ro', + isa => ValidComponentName, + initializer => 'comp_name', +); + # Test $self->{test_dir} = File::Spec->catdir( $FindBin::Bin, '..', 't' ); $self->{test} = $self->next_test; @@ -18,7 +43,7 @@ if ($helper) { message => qq/Couldn't load helper "$class", "$@"/ ); } - ## NO TOUCHY + ## NO TOUCHY ############################################################### if ( $class->can('mk_compclass') ) { return 1 unless $class->mk_compclass( $self, @args ); } @@ -28,6 +53,7 @@ if ($helper) { $class->mk_comptest( $self, @args ); } else { $self->_mk_comptest } + ## END NO TOUCHY ########################################################### } sub mk_component {