summaryrefslogtreecommitdiff
path: root/lib/Tree/Transform/XSLTish/Transformer.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Tree/Transform/XSLTish/Transformer.pm')
-rw-r--r--lib/Tree/Transform/XSLTish/Transformer.pm21
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;