Almost works generating controllers
[catagits/CatalystX-DynamicComponent.git] / lib / CatalystX / ModelToControllerReflector.pm
CommitLineData
59fc9d16 1package CatalystX::ModelToControllerReflector;
2use Moose::Role;
3use namespace::clean -except => 'meta';
4
6a2f1e96 5with 'CatalystX::DynamicComponent'
6 => { alias => { _setup_dynamic_component => '_setup_dynamic_controller' } };
59fc9d16 7
8requires 'setup_components';
9
10after 'setup_components' => sub { shift->_setup_dynamic_controllers(@_); };
11
12sub _setup_dynamic_controllers {
13 my ($app) = @_;
14 my @model_names = grep { /::Model::/ } keys %{ $app->components };
15
16 foreach my $model_name (@model_names) {
6a2f1e96 17 $app->_reflect_model_to_controller( $model_name, $app->components->{$model_name} );
59fc9d16 18 }
19}
20
6a2f1e96 21sub _reflect_model_to_controller {
22 my ( $app, $model_name, $model ) = @_;
23
24 my $controller_name = $model_name;
25 $controller_name =~ s/::Model::/::Controller::/;
26
27 $app->_setup_dynamic_controller( $controller_name );
59fc9d16 28}
29
301;
31