Commit | Line | Data |
f38d3061 |
1 | package CatalystX::DynamicComponent::ModelToControllerReflector::Strategy::InterfaceRoles; |
2 | use Moose; |
3 | use MooseX::Types::Moose qw/HashRef/; |
4 | use Moose::Autobox; |
5 | use List::MoreUtils qw/uniq/; |
6 | use namespace::autoclean; |
7 | |
8 | with 'CatalystX::DynamicComponent::ModelToControllerReflector::Strategy'; |
9 | |
10 | sub get_reflected_method_list {; |
11 | my ($self, $app, $model_meta) = @_; |
12 | my $model_name = $model_meta->name; |
13 | my $interface_roles = [ uniq( map { exists $_->{interface_roles} ? $_->{interface_roles}->flatten : () } $app->config->{$model_name}, $app->config->{'CatalystX::DynamicComponent::ModelToControllerReflector'} ) ]; |
14 | |
15 | map { $_->meta->get_required_method_list } @$interface_roles; |
16 | } |
17 | |
18 | __PACKAGE__->meta->make_immutable; |
19 | |