Loading Build.PL +0 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ my %opts = ( 'Test::Compile' => 0, 'Test::Pod' => 0, 'Test::Command' => 0, 'Test::Synopsis' => 0, }, module_name => 'Net::Travel::DE::VRR', license => 'unrestricted', Loading bin/efa +2 −2 Original line number Diff line number Diff line Loading @@ -115,8 +115,8 @@ for my $i ( 0 .. $#routes ) { printf( "%-5s ab %-30s %-20s %s\n%-5s an %-30s\n\n", $c->get( qw(dep_time dep_stop train_line train_dest arr_time arr_stop) qw(departure_time departure_stop train_line train_destination arrival_time arrival_stop) ), ); } Loading lib/Net/Travel/DE/VRR.pm +9 −34 Original line number Diff line number Diff line Loading @@ -360,16 +360,16 @@ sub parse_pretty { push( @{ $hash->{extra} }, $extra ); } $hash->{dep_time} = $con->[0]; $hash->{departure_time} = $con->[0]; # always "ab" $con->[1]; $hash->{dep_stop} = $con->[2]; $hash->{departure_stop} = $con->[2]; $hash->{train_line} = $con->[3]; $hash->{arr_time} = $con->[4]; $hash->{arrival_time} = $con->[4]; # always "an" $con->[5]; $hash->{arr_stop} = $con->[6]; $hash->{train_dest} = $con->[7]; $hash->{arrival_stop} = $con->[6]; $hash->{train_destination} = $con->[7]; push( @elements, $hash ); } Loading Loading @@ -605,33 +605,8 @@ returns a true value on success. =item $efa->routes() Returns an array of connection elements. Each connection element is an arrayref of connection part, and each connecton part is a hash containing the following elements: =over =item * dep_time Departure time as a string in HH:MM format =item * dep_stop Departure stop, e.g. "Essen HBf" =item * train_line Name of the train line, e.g. "S-Bahn S6" =item * arr_time Arrival time as a string in HH:MM format =item * arr_stop Arrival stop, e.g. "Berlin HBf" =back Returns a list of Net::Travel::DE::VRR::Route(3pm) elements. Each one contains one method of getting from start to stop. =back Loading lib/Net/Travel/DE/VRR/Route.pm +30 −3 Original line number Diff line number Diff line Loading @@ -39,30 +39,57 @@ Net::Travel::DE::VRR::Route - Single route (connection) between two points =head1 SYNOPSIS for my $route ( $efa->routes() ) { for my $part ( $route->parts() ) { # $part is a Net::Travel::DE::VRR::Route::Part object } } =head1 VERSION version 1.3 =head1 DESCRIPTION Net::Travel::DE::VRR::Route describes a single method of getting from one point to another. It holds a bunch of Net::Travel::DE::VRR::Route::Part(3pm) objects describing the parts of the route in detail. Each part depends on the previous one. You usually want to acces it via C<< $efa->routes() >>. =head1 METHODS =over =item my $route = Net::Travel::DE::VRR::Route->new(I<@parts>) Creates a new Net::Travel::DE::VRR::Route elements consisting of I<parts>, which are Net::Travel::DE::VRR::Route::Part elements. =item $route->parts() Returns a list of Net::Travel::DE::VRR::Route::Part(3pm) elements describing the actual route. =back =head1 DIAGNOSTICS None. =head1 DEPENDENCIES =over =back None. =head1 BUGS AND LIMITATIONS None known. =head1 SEE ALSO Net::Travel::DE::VRR(3pm), Net::Travel::DE::VRR::Route::Part(3pm). =head1 AUTHOR Copyright (C) 2011 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> Loading lib/Net/Travel/DE/VRR/Route/Part.pm +82 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,9 @@ use parent 'Class::Accessor'; our $VERSION = '1.3'; Net::Travel::DE::VRR::Route::Part->mk_ro_accessors( qw(arr_stop arr_time dep_stop dep_time train_line train_dest)); qw(arrival_stop arrival_time departure_stop departure_time train_line train_destination) ); sub new { my ( $obj, %conf ) = @_; Loading @@ -36,30 +38,109 @@ points, without interchanges =head1 SYNOPSIS for my $part ( $route->parts() ) { if ( $part->extra() ) { say join( "\n", $part->extra() ); } printf( "%s at %s -> %s at %s, via %s to %s", $part->departure_time, $part->departure_stop, $part->arrival_time, $part->arrival_stop, $part->train_line, $part->train_destination, ); } =head1 VERSION version 0.3 =head1 DESCRIPTION B<Net::Travel::DE::VRR::Route::Part> holds one specific connection (without interchanges) between two points. It specifies the start/stop point and time, the train line and its destination, and optional additional data. It is usually obtained by a call to Net::Travel::DE::VRR::Route(3pm)'s B<parts> method. =head1 METHODS =over =item $part = Net::Travel::DE::VRR::Route::Part->new(I<%data>) Creates a new Net::Travel::DE::VRR::Route::Part object. I<data> consists of: =over =item B<arrival_time> => I<HH>:I<MM> Arrival time =item B<arrival_stop> => I<name> Arrival stop (city plus station / address) =item B<departure_time> => I<HH:MM> Departure time =item B<departure_stop> => I<name> Departure stop (city plus station / address) =item B<train_destination> => I<name> Destination of the train connecting the stops =item B<train_line> => I<name> The train's line name. =item B<extra> => B<[> [ I<line1>, [ I<line2> [ I<...> ] ] ] B<]> Additional information about this connection. Array-ref of newline-terminated strings. =back =item $part->get(I<name>) Returns the value of I<name> (B<arrival_time>, B<arrival_stop> etc., see B<new>). Each of these I<names> also has an accessor. So C<< $part->departure_time() >> is the same as C<< $part->get('departure_time') >>. =item $part->extra() Returns a list of additional information about this route part, if provided. Returns an empty list otherwise. =back =head1 DIAGNOSTICS None. =head1 DEPENDENCIES =over =item * Class::Accessor(3pm) =back =head1 BUGS AND LIMITATIONS None known. =head1 SEE ALSO Net::Travel::DE::VRR(3pm). =head1 AUTHOR Copyright (C) 2011 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> Loading Loading
Build.PL +0 −1 Original line number Diff line number Diff line Loading @@ -10,7 +10,6 @@ my %opts = ( 'Test::Compile' => 0, 'Test::Pod' => 0, 'Test::Command' => 0, 'Test::Synopsis' => 0, }, module_name => 'Net::Travel::DE::VRR', license => 'unrestricted', Loading
bin/efa +2 −2 Original line number Diff line number Diff line Loading @@ -115,8 +115,8 @@ for my $i ( 0 .. $#routes ) { printf( "%-5s ab %-30s %-20s %s\n%-5s an %-30s\n\n", $c->get( qw(dep_time dep_stop train_line train_dest arr_time arr_stop) qw(departure_time departure_stop train_line train_destination arrival_time arrival_stop) ), ); } Loading
lib/Net/Travel/DE/VRR.pm +9 −34 Original line number Diff line number Diff line Loading @@ -360,16 +360,16 @@ sub parse_pretty { push( @{ $hash->{extra} }, $extra ); } $hash->{dep_time} = $con->[0]; $hash->{departure_time} = $con->[0]; # always "ab" $con->[1]; $hash->{dep_stop} = $con->[2]; $hash->{departure_stop} = $con->[2]; $hash->{train_line} = $con->[3]; $hash->{arr_time} = $con->[4]; $hash->{arrival_time} = $con->[4]; # always "an" $con->[5]; $hash->{arr_stop} = $con->[6]; $hash->{train_dest} = $con->[7]; $hash->{arrival_stop} = $con->[6]; $hash->{train_destination} = $con->[7]; push( @elements, $hash ); } Loading Loading @@ -605,33 +605,8 @@ returns a true value on success. =item $efa->routes() Returns an array of connection elements. Each connection element is an arrayref of connection part, and each connecton part is a hash containing the following elements: =over =item * dep_time Departure time as a string in HH:MM format =item * dep_stop Departure stop, e.g. "Essen HBf" =item * train_line Name of the train line, e.g. "S-Bahn S6" =item * arr_time Arrival time as a string in HH:MM format =item * arr_stop Arrival stop, e.g. "Berlin HBf" =back Returns a list of Net::Travel::DE::VRR::Route(3pm) elements. Each one contains one method of getting from start to stop. =back Loading
lib/Net/Travel/DE/VRR/Route.pm +30 −3 Original line number Diff line number Diff line Loading @@ -39,30 +39,57 @@ Net::Travel::DE::VRR::Route - Single route (connection) between two points =head1 SYNOPSIS for my $route ( $efa->routes() ) { for my $part ( $route->parts() ) { # $part is a Net::Travel::DE::VRR::Route::Part object } } =head1 VERSION version 1.3 =head1 DESCRIPTION Net::Travel::DE::VRR::Route describes a single method of getting from one point to another. It holds a bunch of Net::Travel::DE::VRR::Route::Part(3pm) objects describing the parts of the route in detail. Each part depends on the previous one. You usually want to acces it via C<< $efa->routes() >>. =head1 METHODS =over =item my $route = Net::Travel::DE::VRR::Route->new(I<@parts>) Creates a new Net::Travel::DE::VRR::Route elements consisting of I<parts>, which are Net::Travel::DE::VRR::Route::Part elements. =item $route->parts() Returns a list of Net::Travel::DE::VRR::Route::Part(3pm) elements describing the actual route. =back =head1 DIAGNOSTICS None. =head1 DEPENDENCIES =over =back None. =head1 BUGS AND LIMITATIONS None known. =head1 SEE ALSO Net::Travel::DE::VRR(3pm), Net::Travel::DE::VRR::Route::Part(3pm). =head1 AUTHOR Copyright (C) 2011 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> Loading
lib/Net/Travel/DE/VRR/Route/Part.pm +82 −1 Original line number Diff line number Diff line Loading @@ -9,7 +9,9 @@ use parent 'Class::Accessor'; our $VERSION = '1.3'; Net::Travel::DE::VRR::Route::Part->mk_ro_accessors( qw(arr_stop arr_time dep_stop dep_time train_line train_dest)); qw(arrival_stop arrival_time departure_stop departure_time train_line train_destination) ); sub new { my ( $obj, %conf ) = @_; Loading @@ -36,30 +38,109 @@ points, without interchanges =head1 SYNOPSIS for my $part ( $route->parts() ) { if ( $part->extra() ) { say join( "\n", $part->extra() ); } printf( "%s at %s -> %s at %s, via %s to %s", $part->departure_time, $part->departure_stop, $part->arrival_time, $part->arrival_stop, $part->train_line, $part->train_destination, ); } =head1 VERSION version 0.3 =head1 DESCRIPTION B<Net::Travel::DE::VRR::Route::Part> holds one specific connection (without interchanges) between two points. It specifies the start/stop point and time, the train line and its destination, and optional additional data. It is usually obtained by a call to Net::Travel::DE::VRR::Route(3pm)'s B<parts> method. =head1 METHODS =over =item $part = Net::Travel::DE::VRR::Route::Part->new(I<%data>) Creates a new Net::Travel::DE::VRR::Route::Part object. I<data> consists of: =over =item B<arrival_time> => I<HH>:I<MM> Arrival time =item B<arrival_stop> => I<name> Arrival stop (city plus station / address) =item B<departure_time> => I<HH:MM> Departure time =item B<departure_stop> => I<name> Departure stop (city plus station / address) =item B<train_destination> => I<name> Destination of the train connecting the stops =item B<train_line> => I<name> The train's line name. =item B<extra> => B<[> [ I<line1>, [ I<line2> [ I<...> ] ] ] B<]> Additional information about this connection. Array-ref of newline-terminated strings. =back =item $part->get(I<name>) Returns the value of I<name> (B<arrival_time>, B<arrival_stop> etc., see B<new>). Each of these I<names> also has an accessor. So C<< $part->departure_time() >> is the same as C<< $part->get('departure_time') >>. =item $part->extra() Returns a list of additional information about this route part, if provided. Returns an empty list otherwise. =back =head1 DIAGNOSTICS None. =head1 DEPENDENCIES =over =item * Class::Accessor(3pm) =back =head1 BUGS AND LIMITATIONS None known. =head1 SEE ALSO Net::Travel::DE::VRR(3pm). =head1 AUTHOR Copyright (C) 2011 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> Loading