Mercurial > pub > Impl
view Lib/IMPL/Web/View/ObjectFactory.pm @ 243:cd2b1f121029
*TTView: fixed template selection based on the model type
author | sergey |
---|---|
date | Fri, 19 Oct 2012 02:23:15 +0400 |
parents | abc7c26bf615 |
children | 7c517134c42f |
line wrap: on
line source
package IMPL::Web::View::ObjectFactory; use strict; our $AUTOLOAD; use IMPL::declare { require => { Exception => 'IMPL::Exception', OpException => '-IMPL::InvalidOperationException' }, base =>[ 'IMPL::Object::Factory' => '@_' ] }; sub AUTOLOAD { my $this = shift; my ($method) = ($AUTOLOAD =~ m/(\w+)$/); return if $method eq 'DESTROY'; my $target = $this->factory; if ( $target->can($method) ) { return $target->$method(@_); } else { die OpException->new("Method '$method' isn't found in '$target'") } } 1;