Step 1 in converting to a Backbone-based website

This commit is contained in:
Andrew Miner
2014-12-22 16:36:04 -08:00
parent dc9fd0de07
commit 16832e02dd
95 changed files with 41866 additions and 17 deletions
+38
View File
@@ -0,0 +1,38 @@
###
# 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}"