diff options
author | Daniel Friesel <derf@finalrewind.org> | 2013-12-20 08:18:10 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2013-12-20 08:18:10 +0100 |
commit | f1ed161d81ee8277cf274b3c7b3a74fd717b30a1 (patch) | |
tree | 6c17c1ab3ffaa1ef7a79776c0b591bb00a1f97a9 /lib/Travel/Status/DE/URA | |
parent | 04e8407bfaea198b995e976c0197e0801d31d487 (diff) |
rename module to Travel::Status::DE::URA (it's pretty generic)
Diffstat (limited to 'lib/Travel/Status/DE/URA')
-rw-r--r-- | lib/Travel/Status/DE/URA/Result.pm | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/lib/Travel/Status/DE/URA/Result.pm b/lib/Travel/Status/DE/URA/Result.pm new file mode 100644 index 0000000..dbf619f --- /dev/null +++ b/lib/Travel/Status/DE/URA/Result.pm @@ -0,0 +1,157 @@ +package Travel::Status::DE::URA::Result; + +use strict; +use warnings; +use 5.010; + +use parent 'Class::Accessor'; + +our $VERSION = '0.00'; + +Travel::Status::DE::URA::Result->mk_ro_accessors( + qw(countdown countdown_sec date datetime destination line line_id + route_timetable stop stop_id time) +); + +sub new { + my ( $obj, %conf ) = @_; + + my $ref = \%conf; + + return bless( $ref, $obj ); +} + +sub TO_JSON { + my ($self) = @_; + + return { %{$self} }; +} + +1; + +__END__ + +=head1 NAME + +Travel::Status::DE::URA::Result - Information about a single +departure received by Travel::Status::DE::URA + +=head1 SYNOPSIS + + for my $departure ($status->results) { + printf( + "At %s: %s to %s (in %d minutes)", + $departure->time, $departure->line, $departure->destination, + $departure->countdown + ); + } + +=head1 VERSION + +version 0.00 + +=head1 DESCRIPTION + +Travel::Status::DE::URA::Result describes a single departure as obtained by +Travel::Status::DE::URA. It contains information about the time, +line number and destination. + +=head1 METHODS + +=head2 ACCESSORS + +=over + +=item $departure->countdown + +Time in minutes from the time Travel::Status::DE::URA was instantiated until +the bus will depart. + +=item $departure->countdown_sec + +Time in seconds from the time Travel::Status::DE::URA was instantiated until +the bus will depart. + +=item $departure->date + +Departure date (DD.MM.YYYY) + +=item $departure->datetime + +DateTime object holding the departure date and time. + +=item $departure->destination + +Destination name. + +=item $departure->line + +The name of the line. + +=item $departure->line_id + +The number of the line. + +=item $departure->route_timetable + +Returns an arrayref of arrayrefs describing the entire route. I.e. +C<< [[$time1, $stop1], [$time2, $stop2], ...] >>. +The times are DateTime::Duration(3pm) objects, the stops are only names, +not IDs (subject to change). + +=item $departure->stop + +The stop belonging to this departure. + +=item $departure->stop_id + +The stop ID belonging to this departure. + +=item $departure->time + +Departure time (HH:MM:SS). + +=back + +=head2 INTERNAL + +=over + +=item $departure = Travel::Status::DE::URA::Result->new(I<%data>) + +Returns a new Travel::Status::DE::URA::Result object. You should not need to +call this. + +=item $departure->TO_JSON + +Allows the object data to be serialized to JSON. + +=back + +=head1 DIAGNOSTICS + +None. + +=head1 DEPENDENCIES + +=over + +=item Class::Accessor(3pm) + +=back + +=head1 BUGS AND LIMITATIONS + +Unknown. + +=head1 SEE ALSO + +Travel::Status::DE::URA(3pm). + +=head1 AUTHOR + +Copyright (C) 2013 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> + +=head1 LICENSE + +This module is licensed under the same terms as Perl itself. |