diff Lib/IMPL/Config.pm @ 63:76b878ad6596

Added serialization support for the IMPL::Object::List More intelligent Exception message Fixed encoding support in the actions Improoved tests Minor fixes
author wizard
date Mon, 15 Mar 2010 02:38:09 +0300
parents b0c068da93ac
children 2f31ecabe9ea
line wrap: on
line diff
--- a/Lib/IMPL/Config.pm	Fri Mar 12 16:23:46 2010 +0300
+++ b/Lib/IMPL/Config.pm	Mon Mar 15 02:38:09 2010 +0300
@@ -76,14 +76,16 @@
 
 sub save {
     my ($this,$ctx) = @_;
-
-    foreach my $info ($this->get_meta('IMPL::Class::PropertyInfo')) {
-        next if $info->Access != IMPL::Class::Member::MOD_PUBLIC; # save only public properties
+    
+    my $val;
 
-        my $name = $info->Name;
-        $ctx->AddVar($name => $this->rawGet($name)) if $this->rawGet($name);
-    }
-    
+    $val = $this->rawGet($_) and $ctx->AddVar($_ => $val) foreach map $_->Name, $this->get_meta(
+    	'IMPL::Class::PropertyInfo',
+    	sub {
+    		$_->Access == IMPL::Class::Member::MOD_PUBLIC and
+    		$_->canGet;
+    	},
+    	1);    
 }
 
 sub spawn {