use HTML::Zoom::Transform;
use HTML::Zoom::TransformBuilder;
+our $VERSION = '0.009001';
+
+$VERSION = eval $VERSION;
+
sub new {
my ($class, $args) = @_;
my $new = {};
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;
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
}
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
]);
my $z2 = $z1->select('div')->replace_content('I AM A DIV!');
-Returns an intermediary object of the class L<HTML::Zoom::MatchWithoutFilter>
+Returns an intermediary object of the class L<HTML::Zoom::TransformBuilder>
on which methods of your L<HTML::Zoom::FilterBuilder> object can be called.
In normal usage you should generally always put the pair of method calls
=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
+