$strategy->new;
my $model_methods = $model->meta->get_method_map;
- foreach my $method_name ( $strategy->get_reflected_method_list($app, $model_name) ) {
+ foreach my $method_name ( $strategy->get_reflected_method_list($app, $model_name, $model) ) {
# Note need to pass model name, as the method actually comes from
# the underlying model class, not the Catalyst shim class we autogenerated.
$controller_methods{$method_name} =
--- /dev/null
+package CatalystX::DynamicComponent::ModelToControllerReflector::Strategy::DispatchableMethod;
+use Moose;
+use MooseX::Types::Moose qw/HashRef/;
+use Moose::Autobox;
+use List::MoreUtils qw/uniq/;
+use namespace::autoclean;
+
+with 'CatalystX::DynamicComponent::ModelToControllerReflector::Strategy';
+
+sub get_reflected_method_list {;
+ my ($self, $app, $model_name, $model) = @_;
+ my $model_methods = $model->meta->get_method_map;
+ grep { does_role($model_methods->{$_}, 'CatalystX::ControllerGeneratingModel::DispatchableMethod') } keys %$model_methods;
+}
+
+__PACKAGE__->meta->make_immutable;
+