package WebService::TFL::TubeStatus::Response::LineStatus; use Moo; use Types::Standard -all; use namespace::clean; has [qw(statusSeverity statusSeverityDescription)] => ( is => 'ro', isa => Str, required => 1, ); has reason => ( is => 'ro', isa => Str, ); sub new_from_response { my ($class,$response_data) = @_; $response_data->{reason} =~ s{\A .+? : \s*}{}x if $response_data->{reason}; return $class->new($response_data); } 1;