package WebService::TFL::TubeStatus::Response::LineStatus; use Moose; use namespace::autoclean; has is_active => ( is => 'ro', isa => 'Bool', required => 1, ); has [qw(code class description details)] => ( 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}); return $class->new(\%init_arg); } 1;