Just occurred to me that a Moosier alternative may be much neater - remove
the need for the user to define an explicit factory object and coercions:
Plugins:
My::View::Text
My::View::HTML
My::View::XML
Class:
package My::App;
use Moose;
with 'MooseX::PluginFactory';
has 'view',
is => 'ro',
isa => 'My::View',
traits => [ 'PluginFactory' ],
plugin_base => 'My::View';
Allows:
$app = My::App->new( view => 'HTML' );
$app->view; # My::View::HTML
Is this more sensible?
Cheers,
Ian
--
Ian Sillitoe
CATH Team -- http://cathdb.info