| Catalyst-Model-Adaptor documentation | Contained in the Catalyst-Model-Adaptor distribution. |
Catalyst::Helper::Model::Adaptor - helper for the incredibly lazy
Running:
./script/myapp_create.pl model SomeClass Adaptor MyApp::Backend::SomeClass create
Will create YourApp::Model::SomeClass that looks like:
package YourApp::Model::SomeClass;
use strict;
use warnings;
use base 'Catalyst::Model::Adaptor';
__PACKAGE__->config(
class => 'MyApp::Backend::SomeClass',
constructor => 'create',
);
1;
Why you need a script to generate that is beyond me, but here it is.
./script/myapp_create.pl model <model_name> Adaptor <class> [<constructor>]
You need to sepecify the model_name (the name of the model), and
class, the class being adapted. If $class->new isn't going
to do what you want, pass the name of $class's constructor as
constructor.
Jonathan Rockway <jrockway@cpan.org>
This library is free software. You can redistribute it and/or modify it under the same terms as perl itself.
No copyright claim is asserted over the generated code.
| Catalyst-Model-Adaptor documentation | Contained in the Catalyst-Model-Adaptor distribution. |
package Catalyst::Helper::Model::Adaptor; use strict; use warnings;
sub mk_compclass { my ( $class, $helper, $adapted_class, $const ) = @_; my ($type) = ($class =~ /^Catalyst::Helper::Model::(.+)$/); die "i am nothing. that doesn't make sense." unless $type; my %args = ( adapted_class => $adapted_class, constructor => $const, type => $type ); my $file = $helper->{file}; $helper->render_file( 'compclass', $file, \%args ); }
1; __DATA__ __compclass__ package [% class %]; use strict; use warnings; use base 'Catalyst::Model::[% type %]'; __PACKAGE__->config( class => '[% adapted_class || 'Fill::This::In' %]', constructor => '[% constructor || 'new'%]', ); 1;