also work in streambase
Simon Elliott [Thu, 19 May 2011 17:23:07 +0000 (18:23 +0100)]
lib/HTML/Zoom/StreamBase.pm

index 8fa8d53..ae5374c 100644 (file)
@@ -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);
 }
 
 1;