| Class | Opensteam::CartBase::Cart |
| In: |
lib/opensteam/cart_base.rb
|
| Parent: | Object |
| items | [RW] | cart_items |
intialize items array
# File lib/opensteam/cart_base.rb, line 89
89: def initialize
90: @items = []
91: end
delete item from cart (:cart_item_id or :yamlid )
# File lib/opensteam/cart_base.rb, line 147
147: def del( opts = {} )
148: if opts.has_key?( :yamlid )
149: @items.delete( get( :yamlid => opts[:yamlid] ) )
150: elsif opts.has_key?( :cart_item_id )
151: @items.delete_at( opts[:cart_item_id].to_i )
152: end
153: end
get item from cart
get( :cart_itemd_id => 1 ) # get item by internal array id get( :yamlid => 3 ) # get item by Inventory-id
# File lib/opensteam/cart_base.rb, line 99
99: def get( opts = {} )
100:
101: if opts.has_key? :yamlid
102: @items.each do |v|
103: return v if v.yamlid == opts[:yamlid]
104: end
105:
106: elsif opts.has_key? :cart_item_id
107: return @items[ opts[:cart_item_id].to_i ]
108: end
109:
110: return nil
111:
112: end
set quantity for item (by internal array-id)
# File lib/opensteam/cart_base.rb, line 130
130: def set_quantity( id, q )
131: item = @items[ id.to_i ]
132:
133: return nil if item.nil?
134:
135: q = q.to_i
136: if q == 0
137: @items.delete_at( id.to_i )
138: elsif q > 0
139: item.quantity = ( item.inventory.storage < q ) ? item.inventory.storage : q
140: end
141:
142: item
143: end