From f28a763b13d7b087ed998ea65513d4e366602fb4 Mon Sep 17 00:00:00 2001 From: Andrew Miner Date: Thu, 1 Jan 2015 20:12:27 -0800 Subject: [PATCH] Rename RecipeBook to ModVersion --- src/css/templates/recipe_catalog.scss | 2 +- src/data/minecraft/recipes.json | 1 + ...r.coffee => mod_version_controller.coffee} | 6 +-- .../recipe_catalog_controller.coffee | 4 +- ...{recipe_book.coffee => mod_version.coffee} | 6 +-- ...arser.coffee => mod_version_parser.coffee} | 38 +++++++++---------- src/scripts/models/recipe_catalog.coffee | 4 +- .../{recipe_book.jade => mod_version.jade} | 2 +- src/templates/recipe_catalog.jade | 4 +- ....coffee => mod_version_parser.test.coffee} | 15 ++++---- test/test.coffee | 2 +- 11 files changed, 42 insertions(+), 42 deletions(-) rename src/scripts/controllers/{recipe_book_controller.coffee => mod_version_controller.coffee} (90%) rename src/scripts/models/{recipe_book.coffee => mod_version.coffee} (92%) rename src/scripts/models/{recipe_book_parser.coffee => mod_version_parser.coffee} (87%) rename src/templates/{recipe_book.jade => mod_version.jade} (77%) rename test/{recipe_book_parser.test.coffee => mod_version_parser.test.coffee} (92%) diff --git a/src/css/templates/recipe_catalog.scss b/src/css/templates/recipe_catalog.scss index 294afeb0a..5b5c1adf4 100644 --- a/src/css/templates/recipe_catalog.scss +++ b/src/css/templates/recipe_catalog.scss @@ -1,5 +1,5 @@ /* -Crafting Guide - recipe_books.scss +Crafting Guide - mod_versions.scss Copyright (c) 2014 by Redwood Labs All rights reserved. diff --git a/src/data/minecraft/recipes.json b/src/data/minecraft/recipes.json index 344506fab..2fe44513c 100644 --- a/src/data/minecraft/recipes.json +++ b/src/data/minecraft/recipes.json @@ -4,6 +4,7 @@ "mod_version": "1.7.10", "description": "Crafting recipes from vanilla Minecraft", "raw_materials": [ + "Diamond", "Emerald", "Lapis Lazuli", "Nether Quartz", diff --git a/src/scripts/controllers/recipe_book_controller.coffee b/src/scripts/controllers/mod_version_controller.coffee similarity index 90% rename from src/scripts/controllers/recipe_book_controller.coffee rename to src/scripts/controllers/mod_version_controller.coffee index 5f4324241..ed2566479 100644 --- a/src/scripts/controllers/recipe_book_controller.coffee +++ b/src/scripts/controllers/mod_version_controller.coffee @@ -1,5 +1,5 @@ ### -# Crafting Guide - recipe_book_controller.coffee +# Crafting Guide - mod_version_controller.coffee # # Copyright (c) 2014 by Redwood Labs # All rights reserved. @@ -10,11 +10,11 @@ BaseController = require './base_controller' ######################################################################################################################## -module.exports = class RecipeBookController extends BaseController +module.exports = class ModVersionController extends BaseController constructor: (options={})-> if not options.model? then throw new Error "options.model is required" - options.templateName = 'recipe_book' + options.templateName = 'mod_version' super options # Event Methods ################################################################################ diff --git a/src/scripts/controllers/recipe_catalog_controller.coffee b/src/scripts/controllers/recipe_catalog_controller.coffee index 1c58c512a..9c08cb4e1 100644 --- a/src/scripts/controllers/recipe_catalog_controller.coffee +++ b/src/scripts/controllers/recipe_catalog_controller.coffee @@ -7,7 +7,7 @@ BaseController = require './base_controller' {DefaultBookUrls} = require '../constants' -RecipeBookController = require './recipe_book_controller' +ModVersionController = require './mod_version_controller' ######################################################################################################################## @@ -37,7 +37,7 @@ module.exports = class RecipeCatalogController extends BaseController @_bookControllers = [] for i in [@model.books.length-1..0] by -1 book = @model.books[i] - controller = new RecipeBookController model:book + controller = new ModVersionController model:book controller.render() @_bookControllers.push controller @$table.prepend controller.$el diff --git a/src/scripts/models/recipe_book.coffee b/src/scripts/models/mod_version.coffee similarity index 92% rename from src/scripts/models/recipe_book.coffee rename to src/scripts/models/mod_version.coffee index bc839b722..c56fad43e 100644 --- a/src/scripts/models/recipe_book.coffee +++ b/src/scripts/models/mod_version.coffee @@ -1,5 +1,5 @@ ### -Crafting Guide - recipe_book.coffee +Crafting Guide - mod_version.coffee Copyright (c) 2014 by Redwood Labs All rights reserved. @@ -10,7 +10,7 @@ BaseModel = require './base_model' ######################################################################################################################## -module.exports = class RecipeBook extends BaseModel +module.exports = class ModVersion extends BaseModel constructor: (attributes={}, options={})-> if _.isEmpty(attributes.modName) then throw new Error 'modName cannot be empty' @@ -49,7 +49,7 @@ module.exports = class RecipeBook extends BaseModel # Object Overrides ############################################################################# toString: -> - return "RecipeBook (#{@cid}) { + return "ModVersion (#{@cid}) { enabled:#{@enabled}, modName:#{@modName}, modVersion:#{@modVersion}, diff --git a/src/scripts/models/recipe_book_parser.coffee b/src/scripts/models/mod_version_parser.coffee similarity index 87% rename from src/scripts/models/recipe_book_parser.coffee rename to src/scripts/models/mod_version_parser.coffee index a2f670294..0db34b711 100644 --- a/src/scripts/models/recipe_book_parser.coffee +++ b/src/scripts/models/mod_version_parser.coffee @@ -1,5 +1,5 @@ ### -Crafting Guide - recipe_book_parser.coffee +Crafting Guide - mod_version_parser.coffee Copyright (c) 2014 by Redwood Labs All rights reserved. @@ -7,11 +7,11 @@ All rights reserved. Item = require './item' Recipe = require './recipe' -RecipeBook = require './recipe_book' +ModVersion = require './mod_version' ######################################################################################################################## -module.exports = class RecipeBookParser +module.exports = class ModVersionParser @CURRENT_VERSION = '1' @@ -28,13 +28,13 @@ module.exports = class RecipeBookParser return parser.parse data - unparse: (recipeBook, version=RecipeBookParser.CURRENT_VERSION)-> - if not recipeBook? then throw new Error 'recipe book is required' + unparse: (ModVersion, version=ModVersionParser.CURRENT_VERSION)-> + if not ModVersion? then throw new Error 'recipe book is required' parser = @_parsers["#{version}"] if not parser? then throw new Error "version #{version} is not supported" - return parser.unparse recipeBook + return parser.unparse ModVersion ######################################################################################################################## @@ -44,21 +44,21 @@ module.exports.V1 = class V1 @_errorLocation = 'the header information' parse: (data)-> - return @_parseRecipeBook data + return @_parseModVersion data - unparse: (recipeBook)-> - return @_unparseRecipeBook recipeBook + unparse: (ModVersion)-> + return @_unparseModVersion ModVersion # Private Methods ############################################################################## - _parseRecipeBook: (data)-> + _parseModVersion: (data)-> if not data? then throw new Error 'recipe book data is missing' if not data.version? then throw new Error 'version is required' if not data.mod_name? then throw new Error 'mod_name is required' if not data.mod_version? then throw new Error 'mod_version is required' if not _.isArray(data.recipes) then throw new Error 'recipes must be an array' - book = new RecipeBook version:data.version, modName:data.mod_name, modVersion:data.mod_version + book = new ModVersion version:data.version, modName:data.mod_name, modVersion:data.mod_version book.description = data.description or '' book.rawMaterials = data.raw_materials or [] @@ -114,19 +114,19 @@ module.exports.V1 = class V1 return new Item quantity:data[0], name:data[1] - _unparseRecipeBook: (recipeBook)-> + _unparseModVersion: (ModVersion)-> result = [] result.push '{\n' result.push ' "version": 1,\n' - result.push ' "mod_name": "' + recipeBook.modName + '",\n' - result.push ' "mod_version": "' + recipeBook.modVersion + '",\n' - if recipeBook.description.length > 0 - result.push ' "description": "' + recipeBook.description + '",\n' + result.push ' "mod_name": "' + ModVersion.modName + '",\n' + result.push ' "mod_version": "' + ModVersion.modVersion + '",\n' + if ModVersion.description.length > 0 + result.push ' "description": "' + ModVersion.description + '",\n' - if recipeBook.rawMaterials.length > 0 + if ModVersion.rawMaterials.length > 0 result.push ' "raw_materials": [\n' firstItem = true - materials = recipeBook.rawMaterials.slice() + materials = ModVersion.rawMaterials.slice() materials.sort() for material in materials if not firstItem then result.push ',\n' @@ -135,7 +135,7 @@ module.exports.V1 = class V1 result.push '\n ],\n' result.push ' "recipes": [\n' - recipes = recipeBook.recipes.slice() + recipes = ModVersion.recipes.slice() recipes.sort (a, b)-> if a.name isnt b.name return if a.name < b.name then -1 else +1 diff --git a/src/scripts/models/recipe_catalog.coffee b/src/scripts/models/recipe_catalog.coffee index 11c2007b6..664a3a476 100644 --- a/src/scripts/models/recipe_catalog.coffee +++ b/src/scripts/models/recipe_catalog.coffee @@ -7,7 +7,7 @@ BaseModel = require './base_model' {Event} = require '../constants' -RecipeBookParser = require './recipe_book_parser' +ModVersionParser = require './mod_version_parser' {RequiredMods} = require '../constants' ######################################################################################################################## @@ -18,7 +18,7 @@ module.exports = class RecipeCatalog extends BaseModel attributes.books ?= [] super attributes, options - @_parser = new RecipeBookParser + @_parser = new ModVersionParser # Public Methods ############################################################################### diff --git a/src/templates/recipe_book.jade b/src/templates/mod_version.jade similarity index 77% rename from src/templates/recipe_book.jade rename to src/templates/mod_version.jade index 925197b93..ecb1de9ab 100644 --- a/src/templates/recipe_book.jade +++ b/src/templates/mod_version.jade @@ -1,5 +1,5 @@ //- -//- Crafting Guide - recipe_book.jade +//- Crafting Guide - mod_version.jade //- //- Copyright (c) 2014 by Redwood Labs //- All rights reserved. diff --git a/src/templates/recipe_catalog.jade b/src/templates/recipe_catalog.jade index 728993099..b33ef9408 100644 --- a/src/templates/recipe_catalog.jade +++ b/src/templates/recipe_catalog.jade @@ -15,5 +15,5 @@ td   td   td - input.recipe_book_url(placeholder="enter a URL to load another recipe book...") - button.recipe_book_load_button Load + input.mod_version_url(placeholder="enter a URL to load another recipe book...") + button.mod_version_load_button Load diff --git a/test/recipe_book_parser.test.coffee b/test/mod_version_parser.test.coffee similarity index 92% rename from test/recipe_book_parser.test.coffee rename to test/mod_version_parser.test.coffee index 08d0679d3..514e1bcd9 100644 --- a/test/recipe_book_parser.test.coffee +++ b/test/mod_version_parser.test.coffee @@ -5,7 +5,7 @@ # All rights reserved. ### -RecipeBookParser = require '../src/scripts/models/recipe_book_parser' +RecipeBookParser = require '../src/scripts/models/mod_version_parser' ######################################################################################################################## @@ -19,15 +19,15 @@ describe 'RecipeBookParser', -> before -> parser = new RecipeBookParser.V1 - describe '_parseRecipeBook', -> + describe '_parseModVersion', -> it 'requires a mod_name', -> data = version:1, mod_version:'1.0', recipes:[] - expect(-> parser._parseRecipeBook data).to.throw Error, 'mod_name is required' + expect(-> parser._parseModVersion data).to.throw Error, 'mod_name is required' it 'requires a mod_version', -> data = version:1, mod_name:'Empty', recipes:[] - expect(-> parser._parseRecipeBook data).to.throw Error, 'mod_version is required' + expect(-> parser._parseModVersion data).to.throw Error, 'mod_version is required' it 'can parse an empty recipe book', -> data = @@ -35,7 +35,7 @@ describe 'RecipeBookParser', -> mod_name: 'Empty' mod_version: '1.0' recipes: [] - book = parser._parseRecipeBook data + book = parser._parseModVersion data book.modName.should.equal 'Empty' book.modVersion.should.equal '1.0' @@ -48,7 +48,7 @@ describe 'RecipeBookParser', -> { input:'sugar cane', output:'sugar' } { input:[[3, 'wool'], [3, 'planks']], tools:'crafting table', output:'bed' } ] - book = parser._parseRecipeBook data + book = parser._parseModVersion data book.modName.should.equal 'Minecraft' book.modVersion.should.equal '1.7.10' (r.name for r in book.recipes).sort().should.eql ['bed', 'sugar'] @@ -60,8 +60,7 @@ describe 'RecipeBookParser', -> expect(-> parser._parseRecipe input:'wool').to.throw Error, 'boat is missing output' it 'requires input to be defined', -> - parser._errorLocation = 'boat' - expect(-> parser._parseRecipe output:'wool').to.throw Error, 'boat is missing input' + expect(-> parser._parseRecipe output:'wool').to.throw Error, 'recipe for wool is missing input' it 'can parse a regular recipe', -> data = diff --git a/test/test.coffee b/test/test.coffee index ab8b84055..418cf77c8 100644 --- a/test/test.coffee +++ b/test/test.coffee @@ -27,7 +27,7 @@ mocha.setup 'bdd' require './crafting_plan.test' require './inventory.test' require './inventory_parser.test' -require './recipe_book_parser.test' +require './mod_version_parser.test' mocha.checkLeaks() mocha.run()