* Flesh out the formerly incomplete ItemSlug class * Convert all uses of text item slugs to use ItemSlug * Move the ItemSlug class under models where it properly belongs * Avoid the use of `slug` as a local variable or item attribute wherever possible to avoid confusion between various kinds of slugs * Merge the InventoryParser class into the Inventory class as it is unlikely to need to support multiple versions * Simplify the ModPack/Mod/ModVersion interfaces by replacing the use of various "helper" methods with equivalent use of more generic methods * Update the various methods of ModPack/Mod/ModVersion to be able to work with qualified or unqualified ItemSlugs * Remove the unused BaseCollection class * Add tests for ItemSlug and update all other tests to reflect all the other changes
24 lines
712 B
CoffeeScript
24 lines
712 B
CoffeeScript
###
|
|
Crafting Guide - stack.coffee
|
|
|
|
Copyright (c) 2014-2015 by Redwood Labs
|
|
All rights reserved.
|
|
###
|
|
|
|
BaseModel = require './base_model'
|
|
|
|
########################################################################################################################
|
|
|
|
module.exports = class Stack extends BaseModel
|
|
|
|
constructor: (attributes={}, options={})->
|
|
if not attributes.itemSlug? then throw new Error 'attributes.itemSlug is required'
|
|
attributes.quantity ?= 1
|
|
options.logEvents ?= false
|
|
super attributes, options
|
|
|
|
# Object Overrides #############################################################################
|
|
|
|
toString: ->
|
|
return "#{@quantity} #{@itemSlug}"
|