diff options
Diffstat (limited to 'lib/WebService/TFL/TubeStatus/Response/LineStatus.pm')
-rw-r--r-- | lib/WebService/TFL/TubeStatus/Response/LineStatus.pm | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/lib/WebService/TFL/TubeStatus/Response/LineStatus.pm b/lib/WebService/TFL/TubeStatus/Response/LineStatus.pm index 6caa7d6..87eb52f 100644 --- a/lib/WebService/TFL/TubeStatus/Response/LineStatus.pm +++ b/lib/WebService/TFL/TubeStatus/Response/LineStatus.pm @@ -3,31 +3,21 @@ use Moo; use Types::Standard -all; use namespace::autoclean; -has is_active => ( +has [qw(statusSeverity statusSeverityDescription)] => ( is => 'ro', - isa => Bool, + isa => Str, required => 1, ); -has [qw(code class description details)] => ( +has reason => ( is => 'ro', isa => Str, - required => 1, ); -sub new_from_xml { - my ($class,$ls,$xpath) = @_; - - my %init_arg; - - my ($status) = $xpath->findnodes(q{ws:Status},$ls); - $init_arg{code} = $status->findvalue(q{@ID}); - $init_arg{is_active} = $status->findvalue(q{@IsActive}) eq 'true'; - $init_arg{class} = $status->findvalue(q{@CssClass}); - $init_arg{description} = $status->findvalue(q{@Description}); - $init_arg{details} = $ls->findvalue(q{@StatusDetails}); +sub new_from_response { + my ($class,$response_data) = @_; - return $class->new(\%init_arg); + return $class->new($response_data); } 1; |