add VERSION to Zoom.pM
[catagits/HTML-Zoom.git] / lib / HTML / Zoom.pm
index 88c488f..dba35d3 100644 (file)
@@ -8,6 +8,10 @@ use HTML::Zoom::ReadFH;
 use HTML::Zoom::Transform;
 use HTML::Zoom::TransformBuilder;
 
+our $VERSION = '0.009001';
+
+$VERSION = eval $VERSION;
+
 sub new {
   my ($class, $args) = @_;
   my $new = {};
@@ -25,13 +29,18 @@ sub _with {
   bless({ %{$_[0]}, %{$_[1]} }, ref($_[0]));
 }
 
-sub from_html {
+sub from_events {
   my $self = shift->_self_or_new;
   $self->_with({
-    initial_events => $self->zconfig->parser->html_to_events($_[0])
+    initial_events => shift,
   });
 }
 
+sub from_html {
+  my $self = shift->_self_or_new;
+  $self->from_events($self->zconfig->parser->html_to_events($_[0]))
+}
+
 sub from_file {
   my $self = shift->_self_or_new;
   my $filename = shift;
@@ -52,9 +61,14 @@ sub to_fh {
   HTML::Zoom::ReadFH->from_zoom(shift);
 }
 
+sub to_events {
+  my $self = shift;
+  [ $self->zconfig->stream_utils->stream_to_array($self->to_stream) ];
+}
+
 sub run {
   my $self = shift;
-  $self->zconfig->stream_utils->stream_to_array($self->to_stream);
+  $self->to_events;
   return
 }
 
@@ -288,16 +302,16 @@ cleanly:
     map { my $field = $_; sub {
 
      $_->select('label')
-       ->add_attribute( for => $field->{id} )
+       ->add_to_attribute( for => $field->{id} )
        ->then
        ->replace_content( $field->{label} )
 
        ->select('input')
-       ->add_attribute( name => $field->{name} )
+       ->add_to_attribute( name => $field->{name} )
        ->then
-       ->add_attribute( type => $field->{type} )
+       ->add_to_attribute( type => $field->{type} )
        ->then
-       ->add_attribute( value => $field->{value} )
+       ->add_to_attribute( value => $field->{value} )
 
     } } @fields
   ]);
@@ -686,11 +700,25 @@ together; the intermediary object isn't designed or expected to stick around.
 
 =head2 then
 
-  my $z2 = $z1->select('div')->add_attribute(class => 'spoon')
+  my $z2 = $z1->select('div')->add_to_attribute(class => 'spoon')
                              ->then
                              ->replace_content('I AM A DIV!');
 
 Re-runs the previous select to allow you to chain actions together on the
 same selector.
 
+=head1 AUTHORS
+
+=over
+
+=item * Matt S. Trout
+
+=back
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
 =cut
+