From a5f54a791080d01473cb998d0b7728dafa64ee6d Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Tue, 2 Mar 2010 00:49:09 -0600 Subject: [PATCH] mostly working definition roles --- lib/WebGUI/Definition.pm | 2 -- lib/WebGUI/Definition/Asset.pm | 2 -- lib/WebGUI/Definition/Meta/Asset.pm | 4 +++- lib/WebGUI/Definition/Meta/Class.pm | 2 +- 4 files changed, 4 insertions(+), 6 deletions(-) diff --git a/lib/WebGUI/Definition.pm b/lib/WebGUI/Definition.pm index a53870c23..70bb33928 100644 --- a/lib/WebGUI/Definition.pm +++ b/lib/WebGUI/Definition.pm @@ -74,8 +74,6 @@ sub init_meta { my $class = shift; my %args = @_; - Moose->init_meta(%args); - Moose::Util::MetaRole::apply_base_class_roles( for => $args{for_class}, roles => [ 'WebGUI::Definition::Role::Object' ], diff --git a/lib/WebGUI/Definition/Asset.pm b/lib/WebGUI/Definition/Asset.pm index 3f1d8d652..8d9807e49 100644 --- a/lib/WebGUI/Definition/Asset.pm +++ b/lib/WebGUI/Definition/Asset.pm @@ -77,8 +77,6 @@ sub init_meta { my $class = shift; my %args = @_; - WebGUI::Definition->init_meta(%args); - Moose::Util::MetaRole::apply_base_class_roles( for => $args{for_class}, roles => [ 'WebGUI::Definition::Role::Asset' ], diff --git a/lib/WebGUI/Definition/Meta/Asset.pm b/lib/WebGUI/Definition/Meta/Asset.pm index ff7b8decb..41678c449 100644 --- a/lib/WebGUI/Definition/Meta/Asset.pm +++ b/lib/WebGUI/Definition/Meta/Asset.pm @@ -21,6 +21,8 @@ use WebGUI::Definition::Meta::Property; use WebGUI::Definition::Meta::Property::Asset; no warnings qw(uninitialized); +with 'WebGUI::Definition::Meta::Class'; + our $VERSION = '0.0.1'; =head1 NAME @@ -50,7 +52,7 @@ for properties. =cut -has '+property_metaroles' => ( +has 'property_metaroles' => ( is => 'ro', default => sub { [ 'WebGUI::Definition::Meta::Property', 'WebGUI::Definition::Meta::Property::Asset'] }, ); diff --git a/lib/WebGUI/Definition/Meta/Class.pm b/lib/WebGUI/Definition/Meta/Class.pm index 1245a89c2..2e386f4e5 100644 --- a/lib/WebGUI/Definition/Meta/Class.pm +++ b/lib/WebGUI/Definition/Meta/Class.pm @@ -57,7 +57,7 @@ sub add_property { my $prop_meta_roles = $self->property_metaroles; my $prop_meta = $self->_property_metaclass; for my $key ( keys %options ) { - if ( ! $prop_meta->meta->find_attribute_by_name($key) ) { + if ( ! $prop_meta->find_attribute_by_name($key) ) { $form_options{$key} = delete $options{$key}; } }