Skip to content

Commit

Permalink
Use class method when using Value elements.
Browse files Browse the repository at this point in the history
  • Loading branch information
racke committed Nov 2, 2015
1 parent a18317e commit 101eb31
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions lib/Template/Flute.pm
Original file line number Diff line number Diff line change
Expand Up @@ -797,16 +797,16 @@ sub _sub_process {
# Values
for my $value ($template->values) {
my $spec_id = $value->id;
my $spec_name = $value->name;
my $spec_class = $value->class ? $value->class : $spec_name;
my $name = $value->name;
my $class = $value->class;

# Use CLASS or ID if set
my $spec_clases = [];
if ($spec_id){
$spec_clases = $specification->{ids}->{$spec_id};
}
else {
$spec_clases = $classes->{$spec_class};
$spec_clases = $classes->{$class};
}

for my $spec_class (@$spec_clases){
Expand All @@ -830,7 +830,7 @@ sub _sub_process {
$iter = $maybe_iter;
}
else {
die "Object cannot be used as iterator for value $spec_name: ", ref($maybe_iter);
die "Object cannot be used as iterator for value $name: ", ref($maybe_iter);
}
}
elsif (ref($self->{values}->{$iter_name}) eq 'ARRAY') {
Expand All @@ -855,7 +855,11 @@ sub _sub_process {
$spec_class->{'field'} = [split /\./, $field];
}

$self->_replace_record($spec_name, $values, $spec_class, $spec_class->{elts});
# Parameters:
# name: name of the specification element
# values: hashref with values to fill into

$self->_replace_record($name, $values, $spec_class, $spec_class->{elts});
}
}

Expand Down

0 comments on commit 101eb31

Please sign in to comment.