Sha256: 20dcfdaed93ac2f112cb16b949e3fc9919c124b2147e5ab8b6426644c6ea66c4
Contents?: true
Size: 933 Bytes
Versions: 1
Compression:
Stored size: 933 Bytes
Contents
module RightnowOms class Cart < ActiveRecord::Base acts_as_api belongs_to :shopper has_many :cart_items, dependent: :destroy api_accessible :default do |t| t.add :id t.add :state end def total cart_items.map.sum(&:total_price) || 0 end def cartable_count cart_items.map.sum(&:quantity) end def add_item(cartable, opts = { quantity: 1 }) cart_item = cart_items.find_by_cartable(cartable) if cart_item cart_item.update_attributes( quantity: cart_item.quantity + opts[:quantity].to_i, ) else cart_item = cart_items.create( cartable: cartable, name: cartable.cartable_name, price: opts[:price] || cartable.cartable_price, quantity: opts[:quantity], group: opts[:group], parent_id: opts[:parent_id] ) end cart_item end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rightnow_oms-0.1.2 | app/models/rightnow_oms/cart.rb |