diff options
author | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-04-23 15:29:16 +0200 |
---|---|---|
committer | Gianni Ceccarelli <dakkar@dechirico.(none)> | 2009-04-23 15:29:16 +0200 |
commit | b0c300919fd33fbff9167b294dca14dff0250bc1 (patch) | |
tree | 62b1f3d4e55543b6aff8e67616efb274dc5db6e9 /lib/Tree/Transform/XSLTish/Transformer.pm | |
parent | new tests (diff) | |
download | Tree-Transform-XSLTish-b0c300919fd33fbff9167b294dca14dff0250bc1.tar.gz Tree-Transform-XSLTish-b0c300919fd33fbff9167b294dca14dff0250bc1.tar.bz2 Tree-Transform-XSLTish-b0c300919fd33fbff9167b294dca14dff0250bc1.zip |
passes critic
Diffstat (limited to 'lib/Tree/Transform/XSLTish/Transformer.pm')
-rw-r--r-- | lib/Tree/Transform/XSLTish/Transformer.pm | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/lib/Tree/Transform/XSLTish/Transformer.pm b/lib/Tree/Transform/XSLTish/Transformer.pm index 857143a..0d241e4 100644 --- a/lib/Tree/Transform/XSLTish/Transformer.pm +++ b/lib/Tree/Transform/XSLTish/Transformer.pm @@ -8,14 +8,12 @@ use Tree::Transform::XSLTish::Context; use Tree::XPathEngine; use Carp::Clan qw(^Tree::Transform::XSLTish); +our $VERSION='0.1'; + subtype 'Tree::Transform::XSLTish::Engine' => as 'Object' => where { - my $object=$_; - for my $meth (qw(findnodes)) { - return unless $object->can($meth); - } - return 1; + return $_->can('findnodes') ? 1 : (); }; has 'rules_package' => (is => 'ro', isa => 'ClassName'); @@ -52,7 +50,7 @@ sub _build_engine { return Tree::XPathEngine->new(); } -sub it { $_[0]->context->current_node } +sub it { return $_[0]->context->current_node } sub transform { my ($self,$tree)=@_; @@ -115,7 +113,7 @@ sub find_rule { return $ret if $ret; } - croak "No valid rule"; + croak 'No valid rule'; } sub find_rule_by_name { @@ -140,12 +138,12 @@ sub find_rule_in_package { my $rules=$store->{by_match}; my @candidates= - sort { $b->{priority} <=> $a->{priority} } - grep { $self->rule_matches($_) } @$rules; + sort { $b->{priority} <=> $a->{priority} } ## no critic (ProhibitReverseSortBlock) + grep { $self->rule_matches($_) } @{$rules}; if (@candidates > 1 and $candidates[0]->{priority} == $candidates[1]->{priority}) { - croak "Ambiguous rule application"; + croak 'Ambiguous rule application'; } elsif (@candidates >= 1) { return $candidates[0]; @@ -202,7 +200,7 @@ sub rule_matches { __PACKAGE__->meta->make_immutable;no Moose; -package Tree::Transform::XSLTish::ContextGuard; +package Tree::Transform::XSLTish::ContextGuard; ## no critic (ProhibitMultiplePackages) sub new { my ($class,$trans,$context)=@_; @@ -212,6 +210,7 @@ sub new { sub DESTROY { $_[0]->{trans}->leave(); + return; } 1; |