Sha256: 44e0f9c6bc0e254840001e1d51a312a24fdda9e9061f23e5e824250717aca983

Contents?: true

Size: 585 Bytes

Versions: 12

Compression:

Stored size: 585 Bytes

Contents

require 'refinerycms-core'

module Refinery

  class Cart

    attr_reader  :items

    def initialize()
      @items = []
    end

  def add_product(product)
    current_item = @items.find {|item| item.product == product}
    if current_item
      current_item.increment_quantity
    else
      current_item = ::Refinery::CartItem.new(product)
      @items << current_item
    end
    current_item
  end

  
  def total_items
    @items.sum { |item| item.quantity }
  end
  
  
  def total_price
    @items.sum { |item| item.price }
  end

  end  # class Cart

end  # module Refinery

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
refinerycms-stores-0.0.12 lib/refinery/cart.rb
refinerycms-stores-0.0.11 lib/refinery/cart.rb
refinerycms-stores-0.0.10 lib/refinery/cart.rb
refinerycms-stores-0.0.9 lib/refinery/cart.rb
refinerycms-stores-0.0.8 lib/refinery/cart.rb
refinerycms-stores-0.0.7 lib/refinery/cart.rb
refinerycms-stores-0.0.6 lib/refinery/cart.rb
refinerycms-stores-0.0.5 lib/refinery/cart.rb
refinerycms-stores-0.0.4 lib/refinery/cart.rb
refinerycms-stores-0.0.3 lib/refinery/cart.rb
refinerycms-stores-0.0.2 lib/refinery/cart.rb
refinerycms-stores-0.0.1 lib/refinery/cart.rb