diff Lib/IMPL/Config/Reference.pm @ 198:2ffe6f661605

Implemented IMPL::Web::Handler::RestController fixes in IMPL::Serialization completed IMPL::Web::Application::RestResource added IMPL::Web::Handler::JSONView added IMPL::Web::RestContract
author cin
date Fri, 20 Apr 2012 16:06:36 +0400
parents a705e848dcc7
children
line wrap: on
line diff
--- a/Lib/IMPL/Config/Reference.pm	Thu Apr 19 02:10:02 2012 +0400
+++ b/Lib/IMPL/Config/Reference.pm	Fri Apr 20 16:06:36 2012 +0400
@@ -3,8 +3,6 @@
 
 use IMPL::Exception;
 
-__PACKAGE__->PassThroughArgs;
-
 sub restore {
 	my ($self,$data,$surrogate) = @_;
 	
@@ -13,9 +11,8 @@
 	my ($tagTarget,$target) = splice @$data, 0, 2;
 	
 	die new IMPL::Exception('A traget tag must be the first tag in the reference specification') unless $tagTarget eq 'target';
-	
 	while(my ($method,$args) = splice @$data, 0, 2 ) {
-		$target = $self->_Invoke({ method => $method, args => $args});
+		$target = $self->_InvokeMember($target,{ method => $method, args => $args});
 	}
 	return $target;
 }
@@ -24,9 +21,7 @@
     my ($self,$object,$member) = @_;
     
     my $method = $member->{method};
-    
-    local $@;
-    return eval {
+    return 
         ref $object eq 'HASH' ?
             $object->{$method}
             :
@@ -36,7 +31,7 @@
                     :
                     ()
             )
-    };
+    ;
 }
 
 sub _as_list {