Google-Checkout
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Google/Checkout/Command/DeliverOrder.pm view on Meta::CPAN
=item set_carrier CARRIER
Sets the carrier that will be used to deliver the order.
=item get_tracking_number
Returns the tracking number provided by the carrier.
=item set_tracking_number TRACKING_NUMBER
Sets the tracking number provided by the carrier.
=item should_send_email
Returns true if email should be sent to user. Otherwise,
returns false.
=item set_send_email FLAG
Sets the flag to send optional email to user or not.
=item to_xml
Return the XML that will be sent to Google Checkout. Note that
this function should not be used directly. Instead, it's called
indirectly by the C<Google::Checkout::General::GCO> object internally.
=back
=cut
=head1 COPYRIGHT
Copyright 2006 Google. All rights reserved.
=head1 SEE ALSO
Google::Checkout::Command::GCOCommand
=cut
use strict;
use warnings;
use Google::Checkout::XML::Constants;
use Google::Checkout::General::Util qw/get_valid_carrier is_gco_error/;
use Google::Checkout::Command::GCOCommand;
our @ISA = qw/Google::Checkout::Command::GCOCommand/;
sub new
{
my ($class, %args) = @_;
my $self = $class->SUPER::new(%args, name => Google::Checkout::XML::Constants::DELIVER_ORDER);
$self->{carrier} = $args{carrier};
$self->{tracking_number} = $args{tracking_number} || '';
$self->{send_email} = $args{send_email} ? 'true' : 'false';
return bless $self => $class;
}
sub get_carrier
{
my ($self) = @_;
return $self->{carrier};
}
sub set_carrier
{
my ($self, $carrier) = @_;
$self->{carrier} = $carrier if $carrier;
}
sub get_tracking_number
{
my ($self) = @_;
return $self->{tracking_number};
}
sub set_tracking_number
{
my ($self, $tracking_number) = @_;
$self->{tracking_number} = $tracking_number if $tracking_number;
}
sub should_send_email
{
my ($self) = @_;
return $self->{send_email};
}
sub set_send_email
{
my ($self, $should_send_email) = @_;
$self->{send_email} = $should_send_email ? 'true' : 'false';
}
sub to_xml
{
my ($self, @args) = @_;
my $carrier = get_valid_carrier($self->get_carrier || '');
my $tracking_number = $self->get_tracking_number;
my $code = $self->SUPER::to_xml(@args);
return $code if is_gco_error($code);
$self->add_element(name => Google::Checkout::XML::Constants::SEND_EMAIL,
data => $self->should_send_email, close => 1);
$self->add_element(name => Google::Checkout::XML::Constants::TRACKING_DATA)
if (!is_gco_error($carrier) || $tracking_number);
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.841 second using v1.00-cache-2.02-grep-82fe00e-cpan-f5108d614456 )