From bb2667206d12e1567297150a0789689ef65cbb0f Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Mon, 7 Dec 2009 12:16:07 -0600 Subject: [PATCH] adding some methods to role, other small cleanups --- lib/WebGUI/Definition.pm | 4 +--- lib/WebGUI/Definition/Role/Object.pm | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lib/WebGUI/Definition.pm b/lib/WebGUI/Definition.pm index 16e02c6c7..58dc4da1e 100644 --- a/lib/WebGUI/Definition.pm +++ b/lib/WebGUI/Definition.pm @@ -130,9 +130,7 @@ regular attributes. sub property { my ($meta, $name, %options) = @_; my %form_options; - my $prop_meta = - $meta->property_meta; - #'WebGUI::Definition::Meta::Property'; + my $prop_meta = $meta->property_meta; for my $key ( keys %options ) { if ( ! $prop_meta->meta->find_attribute_by_name($key) ) { $form_options{$key} = delete $options{$key}; diff --git a/lib/WebGUI/Definition/Role/Object.pm b/lib/WebGUI/Definition/Role/Object.pm index e2c7d5ce6..70a2aeb72 100644 --- a/lib/WebGUI/Definition/Role/Object.pm +++ b/lib/WebGUI/Definition/Role/Object.pm @@ -36,7 +36,7 @@ sub get { sub set { my $self = shift; - my $properties = shift; + my $properties = @_ % 2 ? shift : { @_ }; for my $key ( keys %$properties ) { return undef unless $self->can($key); @@ -46,11 +46,22 @@ sub set { } sub update { - my $self; + my $self = shift; $self->set(@_); if ($self->can('write')) { $self->write; } + return 1; +} + +sub getProperty { + my $self = shift; + return $self->meta->find_attribute_by_name(@_); +} + +sub getProperties { + my $self = shift; + return $self->meta->get_all_properties; } 1;