diff options
-rw-r--r-- | lib/Travel/Status/DE/DBWagenreihung.pm | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/lib/Travel/Status/DE/DBWagenreihung.pm b/lib/Travel/Status/DE/DBWagenreihung.pm index 5308961..0a750b5 100644 --- a/lib/Travel/Status/DE/DBWagenreihung.pm +++ b/lib/Travel/Status/DE/DBWagenreihung.pm @@ -89,18 +89,7 @@ sub error { sub direction { my ($self) = @_; - my @wagons = $self->wagons; - - if ( not @wagons ) { - return undef; - } - - if ( $wagons[0]->{position}{start_percent} - > $wagons[-1]{position}{start_percent} ) - { - return 0; - } - return 100; + return $self->{direction}; } sub sections { @@ -142,6 +131,16 @@ sub wagons { ); } } + if ( @{ $self->{wagons} } > 1 ) { + if ( $self->{wagons}[0]->{position}{start_percent} + > $self->{wagons}[-1]->{position}{start_percent} ) + { + $self->{direction} = 100; + } + else { + $self->{direction} = 0; + } + } @{ $self->{wagons} } = sort { $a->{position}->{start_percent} <=> $b->{position}->{start_percent} } @{ $self->{wagons} }; |