Files
ruby-checkout/checkout.rb
T
2026-07-15 10:44:00 -04:00

35 lines
508 B
Ruby

class Checkout
class InvalidItem < StandardError; end
AVAILABLE_ITEMS = {
PI5: 60.00,
ZERO2W: 15.00,
PICO2: 4.00
}
def initialize
@items = []
end
def add(item)
raise InvalidItem unless valid_item?(item)
@items.push item
end
def items
@items
end
def total
@items.reduce(0.00) do |running_total, item|
running_total + AVAILABLE_ITEMS[item]
end
end
private
def valid_item?(item)
return AVAILABLE_ITEMS.keys.include?(item)
end
end