Class: Amazon::AWS::ShoppingCart::CartCreate
- Defined in:
- lib/amazon/aws/shoppingcart.rb
Overview
Worker class used by Cart#cart_create.
Direct Known Subclasses
Constant Summary
Constants inherited from Operation
Instance Attribute Summary
Attributes inherited from Operation
#kind, #params, #response_group
Instance Method Summary collapse
-
#initialize(id_type, item_id, quantity, merge_cart = false, save_for_later = nil, *more_items) ⇒ CartCreate
constructor
Create a shopping-cart and add item(s) to it.
Methods inherited from Operation
Constructor Details
#initialize(id_type, item_id, quantity, merge_cart = false, save_for_later = nil, *more_items) ⇒ CartCreate
Create a shopping-cart and add item(s) to it.
398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 |
# File 'lib/amazon/aws/shoppingcart.rb', line 398 def initialize(id_type, item_id, quantity, merge_cart=false, save_for_later=nil, *more_items) # FIXME: Need to deal with ListItemId, too. # Prepend first item to more_items array (which may be empty). # more_items.unshift( { item_id => quantity } ) mc = merge_cart ? 'True' : 'False' more_items.collect! do |extra_item| items = [] extra_item.each do |item| item_id, quantity = item case save_for_later when true items << { id_type => item_id, 'Action' => 'SaveForLater' } when false items << { id_type => item_id, 'Action' => 'MoveToCart' } when nil items << { id_type => item_id, 'Quantity' => quantity } else raise CartError, "save_for_later must be true, false or nil, but was #{save_for_later}" end end items end more_items.flatten! # Force batch syntax if only a single item is being put in cart. # params = batch_parameters( {}, *more_items ) params.merge!( { 'MergeCart' => mc } ) if merge_cart super( params ) end |