Files
website/src/scripts/models/recipe_book.coffee
T

39 lines
1.2 KiB
CoffeeScript

###
# Crafting Guide - recipe_book.coffee
#
# Copyright (c) 2014 by Redwood Labs
# All rights reserved.
###
BaseModel = require './base_model'
########################################################################################################################
module.exports = class RecipeBook extends BaseModel
constructor: (attributes={}, options={})->
if _.isEmpty(attributes.modName) then throw new Error 'modName cannot be empty'
if _.isEmpty(attributes.modVersion) then throw new Error 'modVersion cannot be empty'
attributes.description ?= ''
attributes.recipes ?= []
super attributes, options
# Public Methods ###############################################################################
getRecipes: (name)->
result = []
for recipe in @recipes
if recipe.name is name
result.push recipe
return result
# Object Overrides #############################################################################
toString: ->
return "RecipeBook (#{@cid}) {
modName:#{@modName},
modVersion:#{@modVersion},
recipes:#{@recipes.length} items}"