X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FHTML-Zoom.git;a=blobdiff_plain;f=lib%2FHTML%2FZoom%2FStreamBase.pm;fp=lib%2FHTML%2FZoom%2FStreamBase.pm;h=0cc1d144171ab63119212d059ddf76f6073471a6;hp=83a735793658dc1ba674ba7252d8ab44fd08b644;hb=8de323e143a33ad6e4ac70dbd2a37610c81b1206;hpb=3688f85a36b7825ad89e8800e5a573c6c9b60166 diff --git a/lib/HTML/Zoom/StreamBase.pm b/lib/HTML/Zoom/StreamBase.pm index 83a7357..0cc1d14 100644 --- a/lib/HTML/Zoom/StreamBase.pm +++ b/lib/HTML/Zoom/StreamBase.pm @@ -100,9 +100,21 @@ sub to_html { sub AUTOLOAD { my ($self, $selector, @args) = @_; + my $sel = $self->select($selector); my $meth = our $AUTOLOAD; $meth =~ s/.*:://; - return $self = $self->select($selector)->$meth(@args); + if (ref($selector) eq 'HASH') { + my $ret = $self; + $ret = $ret->_do($_, $meth, @{$selector->{$_}}) for keys %$selector; + $ret; + } else { + $self->_do($selector, $meth, @args); + } +} + +sub _do { + my ($self, $selector, $meth, @args) = @_; + return $self->select($selector)->$meth(@args); } sub DESTROY {}