package CatalystX::DynamicComponent;
use Moose::Role;
-use namespace::clean -excpept => 'meta';
+use namespace::autoclean;
sub _setup_dynamic_component {
my ($app, $name, $config, $component_method) = @_;
package CatalystX::ModelToControllerReflector;
use Moose::Role;
-use namespace::clean -except => 'meta';
+use namespace::autoclean;
with 'CatalystX::DynamicComponent'
=> { alias => { _setup_dynamic_component => '_setup_dynamic_controller' } };
package CatalystX::ModelsFromConfig;
use Moose::Role;
use Catalyst::Model::Adaptor ();
+use namespace::autoclean;
requires qw/
config
package DynamicAppDemo::Controller::FakeExample;
use Moose;
-use namespace::clean -except => 'meta'; # N.B. namespace clean cest tres important
- # as this package is introspected, a lot!
+use namespace::autoclean;
BEGIN { extends 'DynamicAppDemo::ControllerBase' }
package DynamicAppDemo::Controller::Root;
use Moose;
+use namespace::autoclean;
# Note - need old style actions
# Note - do not extend general controller base class, which messes with
package DynamicAppDemo::ControllerBase;
use Moose;
use Moose::Util qw/find_meta/;
-use namespace::clean -except => 'meta';
+use namespace::autoclean;
# You need attributes still for _DISPATCH and friends.
BEGIN { extends 'Catalyst::Controller' }
package SomeModelClass;
use Moose;
-use namespace::clean -except => 'meta';
+use namespace::autoclean;
# Note trivial calling convention.
# Apply MX::Method::Signatures and MX::Types::Structured to be less lame.
--- /dev/null
+use strict;
+use warnings;
+
+use FindBin qw/$Bin/;
+use lib "$Bin/../lib";
+
+use List::MoreUtils qw/any/;
+use Module::Find;
+setmoduledirs("$Bin/../lib");
+
+use Test::More tests => 4;
+use Test::Exception;
+
+my @modules;
+lives_ok {
+ @modules = (useall('CtaalystX'), useall('DynamicAppDemo'));
+} 'Use all';
+ok @modules;
+
+ok ! any(sub { ! $_->isa('Moose::Object') }, @modules),
+ 'Moose in da hoose';
+
+ok ! any(sub { $_->can('has') }, @modules),
+ 'However, no lolcat to be found';
+