22dc3b69e2ec789e1825febc1ba93139614ef6fa
[catagits/CatalystX-DynamicComponent.git] / t / lib / SomeModelClass.pm
1 package SomeModelClassInterface;
2 use Moose::Role;
3 use namespace::autoclean;
4
5 requires 'say_hello';
6
7 package SomeModelClass;
8 use Moose;
9 use CatalystX::ControllerGeneratingModel;
10 use namespace::autoclean;
11
12 # Note trivial calling convention.
13 # Apply MX::Method::Signatures and MX::Types::Structured to be less lame.
14
15 # Introspection should only reflect methods which satisfy the calling convention
16 # This is left as an exercise to the reader. :)
17
18 command say_hello => sub {
19     my ($self, $name) = @_;
20     return("Hello $name");
21 };
22
23 with 'SomeModelClassInterface';
24
25 __PACKAGE__->meta->make_immutable;
26