summaryrefslogtreecommitdiff
path: root/lib/Travel/Routing/DE/DBRIS
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2025-01-30 22:26:16 +0100
committerBirte Kristina Friesel <birte.friesel@uos.de>2025-01-30 22:26:16 +0100
commit99852d760a18a9d87acc832fd0557f630f5e69eb (patch)
tree36eebc183be9db91c4ac288e4b8b5467a866ec33 /lib/Travel/Routing/DE/DBRIS
parenta956ddd5be0c79bf0263440bc9a32a4590340d00 (diff)
parse and expose messages
Diffstat (limited to 'lib/Travel/Routing/DE/DBRIS')
-rw-r--r--lib/Travel/Routing/DE/DBRIS/Connection.pm25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/Travel/Routing/DE/DBRIS/Connection.pm b/lib/Travel/Routing/DE/DBRIS/Connection.pm
index 2ad46d8..d7c74f0 100644
--- a/lib/Travel/Routing/DE/DBRIS/Connection.pm
+++ b/lib/Travel/Routing/DE/DBRIS/Connection.pm
@@ -94,6 +94,19 @@ sub new {
$ref->{$key} = $ref->{segments}[-1]{$key};
}
+ for my $note ( @{ $json->{risNotizen} // [] } ) {
+ push( @{ $ref->{notes} }, $note );
+ if ( $note->{key} eq 'text.realtime.connection.cancelled' ) {
+ $ref->{is_cancelled} = 1;
+ }
+ elsif ( $note->{key} eq 'text.realtime.connection.brokentrip' ) {
+ $ref->{is_unlikely} = 1;
+ }
+ }
+ for my $message ( @{ $json->{messages} // [] } ) {
+ push( @{ $ref->{messages} }, $message );
+ }
+
bless( $ref, $obj );
return $ref;
@@ -105,6 +118,18 @@ sub segments {
return @{ $self->{segments} // [] };
}
+sub notes {
+ my ($self) = @_;
+
+ return @{ $self->{notes} // [] };
+}
+
+sub messages {
+ my ($self) = @_;
+
+ return @{ $self->{messages} // [] };
+}
+
sub TO_JSON {
my ($self) = @_;