diff options
author | Daniel Friesel <derf@finalrewind.org> | 2015-10-09 18:26:41 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2015-10-09 18:26:41 +0200 |
commit | 6b2932cd9b7df92ec8a35326fa861fa4291f0fb4 (patch) | |
tree | 32b3a628941bc765903e06f0020f266df1f82f3a /lib/Travel/Status/DE/URA | |
parent | a68cadc24bcdceb6b141cc689589bf8741392fa9 (diff) |
use Stop.pm for stop data instead of arrayrefs
Diffstat (limited to 'lib/Travel/Status/DE/URA')
-rw-r--r-- | lib/Travel/Status/DE/URA/Result.pm | 2 | ||||
-rw-r--r-- | lib/Travel/Status/DE/URA/Stop.pm | 114 |
2 files changed, 115 insertions, 1 deletions
diff --git a/lib/Travel/Status/DE/URA/Result.pm b/lib/Travel/Status/DE/URA/Result.pm index 8ead690..b3a17c3 100644 --- a/lib/Travel/Status/DE/URA/Result.pm +++ b/lib/Travel/Status/DE/URA/Result.pm @@ -59,7 +59,7 @@ sub type { sub route_interesting { my ( $self, $max_parts ) = @_; - my @via = map { $_->[1] } @{ $self->{route_post} }; + my @via = map { $_->name } @{ $self->{route_post} }; my ( @via_main, @via_show, $last_stop ); $max_parts //= 3; diff --git a/lib/Travel/Status/DE/URA/Stop.pm b/lib/Travel/Status/DE/URA/Stop.pm new file mode 100644 index 0000000..73543c8 --- /dev/null +++ b/lib/Travel/Status/DE/URA/Stop.pm @@ -0,0 +1,114 @@ +package Travel::Status::DE::URA::Stop; + +use strict; +use warnings; +use 5.010; + +use parent 'Class::Accessor'; + +our $VERSION = '0.04'; + +Travel::Status::DE::URA::Stop->mk_ro_accessors(qw(datetime name)); + +sub new { + my ( $obj, %conf ) = @_; + + my $ref = \%conf; + + return bless( $ref, $obj ); +} + +sub date { + my ($self) = @_; + + return $self->{datetime}->strftime('%d.%m.%Y'); +} + +sub time { + my ($self) = @_; + + return $self->{datetime}->strftime('%H:%M:%S'); +} + +sub TO_JSON { + my ($self) = @_; + + return { %{$self} }; +} + +1; + +__END__ + +=head1 NAME + +Travel::Status::DE::URA::Stop - Information about a stop + +=head1 SYNOPSIS + + for my $stop ($departure->route_post) { + printf( + "%s %s\n", + $stop->time, $stop->name + ); + } + +=head1 VERSION + +version 0.04 + +=head1 DESCRIPTION + +Travel::Status::DE::URA::Stop describes a single stop of a departure's route. + +=head1 METHODS + +=head2 ACCESSORS + +=over + +=item $stop->datetime + +DateTime object holding the arrival/departure date and time. + +=item $stop->date + +Arrival/departure date in dd.mm.YYYY format. + +=item $stop->time + +Arrival/departure time in HH:MM:SS format. + +=item $stop->name + +Stop name. + +=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) 2015 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> + +=head1 LICENSE + +This module is licensed under the same terms as Perl itself. |