Google-Checkout

 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 distribution
 view release on metacpan -  search on metacpan

( run in 0.885 second using v1.00-cache-2.02-grep-82fe00e-cpan-f5108d614456 )