Show cart.rb syntax highlighted
class Cart
include Reloadable
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 = CartItem.new(product)
@items << current_item
end
current_item
end
def total_items
@items.inject(0) {|sum, item| sum + item.quantity}
end
def total_price
@items.inject(0) {|sum, item| sum + item.price}
end
end
See more files for this project here