Skip to content

Instantly share code, notes, and snippets.

@ciryon
ciryon / VendRefactored.swift
Created January 3, 2016 09:27 — forked from eofster/VendRefactored.swift
Vending machine vend() function refactored
func vend(itemNamed name: String) throws {
let item = try validatedItemNamed(name)
reduceDepositedCoinsBy(item.price)
removeFromInventory(item, name: name)
dispense(name)
}
private func validatedItemNamed(name: String) throws -> Item {
let item = try itemNamed(name)
try validate(item)

Keybase proof

I hereby claim:

  • I am ciryon on github.
  • I am ciryon (https://keybase.io/ciryon) on keybase.
  • I have a public key ASDhUuEPIoguTlRZRA_KXtJWdqLW7jknzuklzlukIq0mYgo

To claim this, I am signing this object: