Mercurial > pub > Impl
diff Lib/IMPL/Object/Meta.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 | 16ada169ca75 |
children | 42fbb38d4a48 |
line wrap: on
line diff
--- a/Lib/IMPL/Object/Meta.pm Fri Mar 12 16:23:46 2010 +0300 +++ b/Lib/IMPL/Object/Meta.pm Mon Mar 15 02:38:09 2010 +0300 @@ -7,17 +7,42 @@ use IMPL::Class::Property::Direct; BEGIN { - public _direct property Container => prop_get; + public _direct property Container => prop_get | owner_set; } sub meta { my $class = shift; my $caller = caller; my $meta = $class->surrogate(); - $meta->{$Container} = $caller; + $meta->IMPL::Object::Meta::Container(caller); $meta->callCTOR(@_); $caller->set_meta($meta); } +1; -1; +__END__ + +=pod + +=head1 SYNOPSIS + +package Foo; + +meta BarAttribute('Simple bar attribute'); #mark Foo with BarAttribute + +=head1 DESCRIPTION + +Базовый класс для мета-свойств класса. Определяет оператор C< meta > для создания метаданных в вызвавшем классе. + +=head1 MEMBERS + +=over + +=item C< Container > + +Свойство заполняется до вызова конструктора и содержит имя модуля к которому применяется атрибут. + +=back + +=cut \ No newline at end of file