Commit be0380ac authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Use ::Section module for section data

parent 7085318c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ my $wr = Travel::Status::DE::DBWagenreihung->new(
);

for my $section ($wr->sections) {
	my $section_length = $section->{end_percent} - $section->{start_percent};
	my $section_length = $section->length_percent;
	my $spacing_left = int(($section_length - 2) / 2) - 1;
	my $spacing_right = int(($section_length - 2) / 2);

@@ -43,7 +43,7 @@ for my $section ($wr->sections) {

	printf("|%s%s%s|",
		' ' x $spacing_left,
		$section->{name},
		$section->name,
		' ' x $spacing_right
	);
}
+3 −2
Original line number Diff line number Diff line
@@ -9,6 +9,7 @@ our $VERSION = '0.00';
use Carp qw(cluck confess);
use JSON;
use LWP::UserAgent;
use Travel::Status::DE::DBWagenreihung::Section;
use Travel::Status::DE::DBWagenreihung::Wagon;

sub new {
@@ -92,13 +93,13 @@ sub sections {

	for my $section (@{$self->{data}{istformation}{halt}{allSektor}}) {
		my $pos = $section->{positionamgleis};
		push(@{$self->{sections}}, {
		push(@{$self->{sections}}, Travel::Status::DE::DBWagenreihung::Section->new(
			name => $section->{sektorbezeichnung},
			start_percent => $pos->{startprozent},
			end_percent => $pos->{endeprozent},
			start_meters => $pos->{startmeter},
			end_meters => $pos->{endemeter},
		});
		));
	}

	return @{$self->{sections} // []};
+34 −0
Original line number Diff line number Diff line
package Travel::Status::DE::DBWagenreihung::Section;

use strict;
use warnings;
use 5.020;
use utf8;

use parent 'Class::Accessor';

our $VERSION = '0.00';

Travel::Status::DE::DBWagenreihung::Section->mk_ro_accessors(
	qw(name start_percent end_percent length_percent start_meters end_meters length_meters)
);

sub new {
	my ( $obj, %opt ) = @_;
	my $ref = \%opt;

	$ref->{length_meters} = $ref->{end_meters} - $ref->{start_meters};
	$ref->{length_percent} = $ref->{end_percent} - $ref->{start_percent};

	return bless( $ref, $obj );
}

sub TO_JSON {
	my ($self) = @_;

	my %copy = %{$self};

	return {%copy};
}

1;