| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package HTML::Zoom::TransformBuilder; | 
| 2 |  |  |  |  |  |  |  | 
| 3 | 16 |  |  | 16 |  | 85 | use strictures 1; | 
|  | 16 |  |  |  |  | 90 |  | 
|  | 16 |  |  |  |  | 619 |  | 
| 4 | 16 |  |  | 16 |  | 1157 | use base qw(HTML::Zoom::SubObject); | 
|  | 16 |  |  |  |  | 35 |  | 
|  | 16 |  |  |  |  | 2190 |  | 
| 5 | 16 |  |  | 16 |  | 630 | use HTML::Zoom::Transform; | 
|  | 16 |  |  |  |  | 28 |  | 
|  | 16 |  |  |  |  | 8016 |  | 
| 6 |  |  |  |  |  |  |  | 
| 7 |  |  |  |  |  |  | sub new { | 
| 8 | 166 |  |  | 166 | 0 | 253 | my ($class, $args) = @_; | 
| 9 | 166 |  |  |  |  | 629 | my $new = $class->SUPER::new($args); | 
| 10 | 166 |  | 33 |  |  | 1466 | $new->{transform} = | 
| 11 |  |  |  |  |  |  | $args->{transform} | 
| 12 |  |  |  |  |  |  | || HTML::Zoom::Transform->new({ | 
| 13 |  |  |  |  |  |  | zconfig => $new->{_zconfig}, | 
| 14 |  |  |  |  |  |  | selector => $args->{selector}, | 
| 15 |  |  |  |  |  |  | filters => [], | 
| 16 |  |  |  |  |  |  | }); | 
| 17 | 166 |  |  |  |  | 574 | $new->{proto} = $args->{proto}; | 
| 18 | 166 |  |  |  |  | 1042 | $new | 
| 19 |  |  |  |  |  |  | } | 
| 20 |  |  |  |  |  |  |  | 
| 21 | 0 |  |  | 0 |  | 0 | sub DESTROY {} | 
| 22 |  |  |  |  |  |  |  | 
| 23 |  |  |  |  |  |  | sub AUTOLOAD { | 
| 24 | 130 |  |  | 130 |  | 352 | my $meth = our $AUTOLOAD; | 
| 25 | 130 |  |  |  |  | 839 | $meth =~ s/.*:://; | 
| 26 | 130 |  |  |  |  | 215 | my $self = shift; | 
| 27 | 130 |  |  |  |  | 447 | my $fb = $self->_zconfig->filter_builder; | 
| 28 | 130 | 50 |  |  |  | 650 | if (my $cr = $fb->can($meth)) { | 
| 29 | 130 |  |  |  |  | 520 | return $self->{proto}->with_transform( | 
| 30 |  |  |  |  |  |  | $self->{transform}->with_filter($fb->$cr(@_)) | 
| 31 |  |  |  |  |  |  | ); | 
| 32 |  |  |  |  |  |  | } | 
| 33 | 0 |  |  |  |  |  | die "Filter builder $fb does not provide action ${meth}"; | 
| 34 |  |  |  |  |  |  | } | 
| 35 |  |  |  |  |  |  |  | 
| 36 |  |  |  |  |  |  | 1; |