dev version
[catagits/HTML-Zoom.git] / lib / HTML / Zoom.pm
index 1cb15de..0f0d75f 100644 (file)
@@ -8,7 +8,7 @@ use HTML::Zoom::Transform;
 use HTML::Zoom::TransformBuilder;
 use Scalar::Util ();
 
-our $VERSION = '0.009005';
+our $VERSION = '0.009008_01';
 
 $VERSION = eval $VERSION;
 
@@ -174,6 +174,8 @@ sub _do {
   }
 }
 
+sub DESTROY {}
+
 1;
 
 =head1 NAME
@@ -211,13 +213,14 @@ HTML::Zoom - selector based streaming template engine
             $_->select('.name')->replace_content('Matt')
               ->select('.age')->replace_content('26')
           },
+          # alternate form
           sub {
-            $_->select('.name')->replace_content('Mark')
-              ->select('.age')->replace_content('0x29')
+            $_->replace_content({'.name' => ['Mark'],'.age' => ['0x29'] })
           },
+          #alternate alternate form
           sub {
-            $_->select('.name')->replace_content('Epitaph')
-              ->select('.age')->replace_content('<redacted>')
+            $_->replace_content('.name' => 'Epitaph')
+              ->replace_content('.age' => '<redacted>')
           },
         ],
         { repeat_between => '.between' }
@@ -340,14 +343,12 @@ cleanly:
        ->add_to_attribute( for => $field->{id} )
        ->then
        ->replace_content( $field->{label} )
-
-       ->select('input')
-       ->add_to_attribute( name => $field->{name} )
-       ->then
-       ->add_to_attribute( type => $field->{type} )
-       ->then
-       ->add_to_attribute( value => $field->{value} )
-
+       ->add_to_attribute(
+        input => { 
+         name => $field->{name},
+         type => $field->{type},
+         value => $field->{value}
+       })
     } } @fields
   ]);
 
@@ -642,6 +643,12 @@ zoom instance with that as the source HTML to be transformed.
 
 Convenience method - slurps the contents of $file and calls from_html with it.
 
+=head2 from_events
+
+  my $zoom = HTML::Zoom->from_events($evt);
+
+Create a new Zoom object from collected events
+
 =head2 to_stream
 
   my $stream = $zoom->to_stream;
@@ -690,6 +697,14 @@ sugar, the following is entirely equivalent:
 
   my $z2 = $sub->($z1);
 
+=head2 apply_if
+
+  my $z2 = $z1->apply_if($cond, sub {
+    $_->select('div')->replace_content('I AM A DIV!') })
+  });
+
+->apply but will only run the tranform if $cond is true
+
 =head2 to_html
 
   my $html = $zoom->to_html;
@@ -774,6 +789,8 @@ John Napiorkowski
 
 Robert Buels
 
+David Dorward
+
 =head1 COPYRIGHT
 
 Copyright (c) 2010-2011 the HTML::Zoom L</AUTHOR> and L</CONTRIBUTORS>