as Str,
where { /^$regex$/ };
+subtype AppEnv,
+ as Str,
+ where { /\w/ };
+
coerce ValidAppName,
from ValidAppComponent,
via { Catalyst::Utils::class2appclass($_); };
+
+coerce 'ValidAppEnv',
+ from Str,
+ via { Catalyst::Utils::class2env($_); };
+
+coerce AppEnv,
+ from Str,
+ via { Catalyst::Utils::class2env($_) };
package main;
use Test::More 'no_plan';
use Moose::Util::TypeContraints;
-use My::Types qw/ValidAppName ValidAppComponent/;
+use My::Types qw/ValidAppName ValidAppComponent AppEnv/;
my $app_tc = find_type_constraint(ValidAppName);
ok $app_tc;
ok !$comp_tc->check('MyApp');
ok $comp_tc->check('MyApp::Model::Foo');
+my $env_tc = my $comp_tc = find_type_constraint(AppEnv);
+ok $env_tc;
+#ok !$env_tc->check('');
+#ok !$env_tc->check('
is $app_tc->coerce('MyApp::Model::Foo'), 'MyApp';
done_testing;