From 60a889227272419d388312f788756f421f489dc7 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 27 Jun 2011 21:57:24 +0200 Subject: Travel::Status::DE::DeutscheBahn::{Departure -> Result} --- lib/Travel/Status/DE/DeutscheBahn/Result.pm | 179 ++++++++++++++++++++++++++++ 1 file changed, 179 insertions(+) create mode 100644 lib/Travel/Status/DE/DeutscheBahn/Result.pm (limited to 'lib/Travel/Status/DE/DeutscheBahn/Result.pm') diff --git a/lib/Travel/Status/DE/DeutscheBahn/Result.pm b/lib/Travel/Status/DE/DeutscheBahn/Result.pm new file mode 100644 index 0000000..d3ae8d2 --- /dev/null +++ b/lib/Travel/Status/DE/DeutscheBahn/Result.pm @@ -0,0 +1,179 @@ +package Travel::Status::DE::DeutscheBahn::Result; + +use strict; +use warnings; +use 5.010; + +use parent 'Class::Accessor'; + +our $VERSION = '0.0'; + +Travel::Status::DE::DeutscheBahn::Result->mk_ro_accessors( + qw(time train route_end platform info)); + +sub new { + my ( $obj, %conf ) = @_; + + my $ref = \%conf; + + return bless( $ref, $obj ); +} + +sub destination { + my ($self) = @_; + + return $self->{route_end}; +} + +sub origin { + my ($self) = @_; + + return $self->{route_end}; +} + +sub route { + my ($self) = @_; + + return @{ $self->{route} }; +} + +1; + +__END__ + +=head1 NAME + +Travel::Status::DE::DeutscheBahn::Result - Information about a single +arrival/departure received by Travel::Status::DE::DeutscheBahn + +=head1 SYNOPSIS + + for my $departure ($status->results) { + printf( + "At %s: %s to %s from platform %s\n", + $departure->time, + $departure->train, + $departure->destination, + $departure->platform, + ); + } + + # or (depending on module setup) + for my $arrival ($status->results) { + printf( + "At %s: %s from %s on platform %s\n", + $arrival->time, + $arrival->train, + $arrival->origin, + $arrival->platform, + ); + } + +=head1 VERSION + +version 0.0 + +=head1 DESCRIPTION + +Travel::Status::DE::DeutscheBahn::Result describes a single arrival/departure +as obtained by Travel::Status::DE::DeutscheBahn. It contains information about +the platform, time, route and more. + +=head1 METHODS + +=head2 ACCESSORS + +=over + +=item $result->route_end + +Returns the last element of the route. Depending on how you set up +Travel::Status::DE::DeutscheBahn (arrival or departure listing), this is +either the train's destination or its origin station. + +For convenienc, this method can also be called as B or B. + +=item $result->info + +Returns additional information, usually wether the train is on time or +delayed. + +=item $result->platform + +Returns the platform from which the train will depart / at which it will +arrive. + +=item $result->route + +Returns a list of station names the train will pass between the selected +station and its origin/destination. + +=item $result->time + +Returns the arrival/departure time as string in "hh:mm" format. + +=item $result->train + +Returns the line / train name, either in a format like "S 1" (S-Bahn line 1) +or "RE 10111" (RegionalExpress train 10111, no line information). + +=back + +=head2 INTERNAL + +=over + +=item $result = Travel::Status::DE::DeutscheBahn::Result->new(I<%data>) + +Returns a new Travel::Status::DE::DeutscheBahn::Result object. +You usually do not need to call this. + +Required I: + +=over + +=item B