From ed13b967ddc14b3c840e260a61e4f009645a6c21 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Mon, 23 Dec 2013 13:06:03 +0100 Subject: URA.pm: Move parse logic to separate function --- lib/Travel/Status/DE/URA.pm | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'lib/Travel/Status/DE') diff --git a/lib/Travel/Status/DE/URA.pm b/lib/Travel/Status/DE/URA.pm index 5280060..610bf10 100644 --- a/lib/Travel/Status/DE/URA.pm +++ b/lib/Travel/Status/DE/URA.pm @@ -55,15 +55,7 @@ sub new { $self->{raw_str} = $response->decoded_content; - for my $dep ( split( /\r\n/, $self->{raw_str} ) ) { - $dep =~ s{^\[}{}; - $dep =~ s{\]$}{}; - - # first field == 4 => version information, no departure - if ( substr( $dep, 0, 1 ) != 4 ) { - push( @{ $self->{raw_list} }, [ split( /"?,"?/, $dep ) ] ); - } - } + $self->parse_raw_data; return $self; } @@ -73,7 +65,17 @@ sub new_from_raw { my $self = { raw_str => $opt{raw_str}, }; - for my $dep ( split( /\r\n/, $self->{raw} ) ) { + bless( $self, $class ); + + $self->parse_raw_data; + + return $self; +} + +sub parse_raw_data { + my ($self) = @_; + + for my $dep ( split( /\r\n/, $self->{raw_str} ) ) { $dep =~ s{^\[}{}; $dep =~ s{\]$}{}; @@ -83,7 +85,7 @@ sub new_from_raw { } } - return bless( $self, $class ); + return $self; } sub errstr { -- cgit v1.2.3