diff --git a/scripts/pizza.coffee b/scripts/pizza.coffee index 6ec1da7..6cc0be0 100644 --- a/scripts/pizza.coffee +++ b/scripts/pizza.coffee @@ -24,52 +24,55 @@ module.exports = (robot) -> - robot.brain.data.currentPizzaOrder = - pizzas: {}, - date: null, - status: null robot.brain.data.pizzaOrderHistory = robot.brain.data.pizzaOrderHistory or [] robot.brain.data.pizzaOrderHistoryBackup = robot.brain.data.pizzaOrderHistoryBackup or [] pizzas = + currentOrder: -> + robot.brain.data.currentPizzaOrder + current: -> - obj = robot.brain.data.currentPizzaOrder.pizzas + obj = this.currentOrder().pizzas Object.keys(obj).map((key) -> obj[key] ).join() start: -> - robot.brain.data.currentPizzaOrder.status = 'open' + order = this.currentOrder() + if this.isStarted() + unless order.startDate && order.startDate >= new Date(new Date() - 24 * 60 * 60 * 1000) + this.closeOrder() + order.status = 'open' + order.startDate = order.startDate || new Date() isStarted: -> - robot.brain.data.currentPizzaOrder.status == 'open' + this.currentOrder().status == 'open' currentQty: -> - Object.keys(robot.brain.data.currentPizzaOrder.pizzas).length + Object.keys(this.currentOrder().pizzas).length currentEaters: -> - Object.keys(robot.brain.data.currentPizzaOrder.pizzas).join() + Object.keys(this.currentOrder().pizzas).join() add: (user, name) -> # only 1 pizza per user atm - robot.brain.data.currentPizzaOrder.pizzas[user] = name + this.currentOrder().pizzas[user] = name remove: (user) -> - delete robot.brain.data.currentPizzaOrder.pizzas[user] + delete this.currentOrder().pizzas[user] true closeOrder: -> if pizzas.currentQty() > 0 - robot.brain.data.currentPizzaOrder.date = new Date() - robot.brain.data.currentPizzaOrder.status = 'closed' - order = robot.brain.data.currentPizzaOrder + order = this.currentOrder() + order.date = new Date() + order.status = 'closed' robot.brain.data.pizzaOrderHistory.push order - pizzas.clearOrder() + pizzas.newOrder() order else - - clearOrder: -> + newOrder: -> robot.brain.data.currentPizzaOrder = {pizzas: {}, date: null, status: null} clearHistory: -> @@ -85,6 +88,8 @@ module.exports = (robot) -> pizza_qty += Object.keys(order.pizzas).length "#{pizza_qty} pizzas ordered in #{order_qty} orders" + pizzas.newOrder() + ## HELP ## robot.respond /pizza help/i, (msg) -> msg.send "Order a pizza: '@hubby pizza me your-pizza-choice'"