Google-Checkout
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Google/Checkout/General/ShoppingCart.pm view on Meta::CPAN
Returns the C<Google::Checkout::General::MerchantCheckoutFlow> object.
=item set_checkout_flow
Sets the C<Google::Checkout::General::MerchantCheckoutFlow> object.
=back
=cut
=head1 COPYRIGHT
Copyright 2006 Google. All rights reserved.
=head1 SEE ALSO
Google::Checkout::General::MerchantItem
Google::Checkout::General::MerchantCheckoutFlow
=cut
#--
#-- <shopping-cart>...</shopping-cart>
#--
use strict;
use warnings;
use Google::Checkout::General::Util qw/date_time_string is_gco_error is_merchant_item/;
sub new
{
my ($class, %args) = @_;
my $self = {};
if ($args{expiration})
{
my $date_time = date_time_string($args{expiration});
$self->{expiration} = $date_time unless is_gco_error($date_time);
}
if (defined $args{private})
{
if (ref $args{private})
{
for my $note (grep $_ ne '', @{$args{private}})
{
push(@{$self->{private}}, $note);
}
}
else
{
push(@{$self->{private}}, $args{private});
}
}
$self->{checkout_flow} = $args{checkout_flow} if defined $args{checkout_flow};
return bless $self => $class;
}
sub get_expiration
{
my ($self) = @_;
return $self->{expiration};
}
sub set_expiration
{
my ($self, $data) = @_;
my $date_time = date_time_string($data);
$self->{expiration} = $date_time unless is_gco_error($date_time);
}
sub get_private
{
my ($self) = @_;
return $self->{private};
}
sub add_private
{
my ($self, $private_data) = @_;
push(@{$self->{private}}, $private_data) if defined $private_data &&
$private_data ne '';
}
sub get_items
{
my ($self) = @_;
return exists $self->{items} ? $self->{items} : [];
}
sub add_item
{
my ($self, $item) = @_;
push(@{$self->{items}}, $item) if is_merchant_item($item);
}
sub get_checkout_flow()
{
my ($self) = @_;
return $self->{checkout_flow};
}
sub set_checkout_flow()
{
my ($self, $data) = @_;
$self->{checkout_flow} = $data if defined $data;
}
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.885 second using v1.00-cache-2.02-grep-82fe00e-cpan-f5108d614456 )