From a84a29cee9427191096b1c4753843e79e200f8d9 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 15 Jan 2014 11:04:37 +0100 Subject: Stations: Move DS100 match to separate method, use this for db-iris --- lib/Travel/Status/DE/IRIS/Stations.pm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'lib/Travel/Status/DE') diff --git a/lib/Travel/Status/DE/IRIS/Stations.pm b/lib/Travel/Status/DE/IRIS/Stations.pm index 3f05fd9..27261a0 100644 --- a/lib/Travel/Status/DE/IRIS/Stations.pm +++ b/lib/Travel/Status/DE/IRIS/Stations.pm @@ -15100,6 +15100,18 @@ sub get_stations { return @stations; } +sub get_station { + my ( $name ) = @_; + + my $ds100_match = firstval { $name eq $_->[0] } @stations; + + if ($ds100_match) { + return ($ds100_match); + } + + return get_station_by_name($name); +} + sub get_station_by_name { my ( $name ) = @_; @@ -15165,6 +15177,16 @@ B Station codes may contain whitespace. Returns a list of [station code, station name] listrefs lexically sorted by station name. +=item Travel::Status::DE::IRIS::get_station(I<$in>) + +Returns a list of [station code, station name] listrefs matching I<$in>. + +If a I<$in> is a valid station code, only one element ([I<$in>, related name]) +is returned. Otherwise, it is passed to get_station_by_name(I<$in>) (see +below). + +Note that station codes matching is case sensitive and must be exact. + =item Travel::Status::DE::IRIS::get_station_by_name(I<$name>) Returns a list of [station code, station name] listrefs where the station -- cgit v1.2.3