Business::UPS::Tracking::Shipment::SmallPackage - A small package shipment


Business-UPS-Tracking documentation Contained in the Business-UPS-Tracking distribution.

Index


Code Index:

NAME

Top

Business::UPS::Tracking::Shipment::SmallPackage - A small package shipment

DESCRIPTION

Top

This class represents an small package shipment and extends Business::UPS::Tracking::Shipment. Usually it is created automatically from a Business::UPS::Tracking::Response object.

ACCESSORS

Top

Same as Business::UPS::Tracking::Shipment

Package

List of packages (Business::UPS::Tracking::Element::Package)

METHODS

Top

ShipmentType

Returns 'Small Package'

meta

Moose meta method


Business-UPS-Tracking documentation Contained in the Business-UPS-Tracking distribution.
# ============================================================================
package Business::UPS::Tracking::Shipment::SmallPackage;
# ============================================================================
use utf8;
use 5.0100;

use Moose;
extends 'Business::UPS::Tracking::Shipment';
__PACKAGE__->meta->error_class("Business::UPS::Tracking::Exception");

use Business::UPS::Tracking::Element::Package;

our $VERSION = $Business::UPS::Tracking::VERISON;

has 'Package' => (
    is      => 'ro',
    isa     => 'ArrayRef[Business::UPS::Tracking::Element::Package]',
    traits  => ['Serializable'],
    documentation   => 'Package',
    lazy_build      => 1,
);

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

    my @nodes = $self->xml->findnodes('Package');
    my $return = [];
    foreach my $node (@nodes) {
        push @$return,Business::UPS::Tracking::Element::Package->new(
            xml => $node,
        );
    }
    return $return;
}



sub ShipmentType {
    return 'Small Package';
}

__PACKAGE__->meta->make_immutable;
no Moose;
1;