# HG changeset patch # User Andrew Knoll # Date 1363478959 14400 # Node ID 4bc47e7b549d551905b7513a00de6f0776f938ce # Parent e825492d4edd26b6f7bb9635242aed96e2fe08e2 Rewrote parameter checks - now checks to see if DBs are actually DBs diff -r e825492d4edd -r 4bc47e7b549d LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua --- a/LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua Fri Mar 15 23:33:28 2013 -0400 +++ b/LibModuleDBShare-1.0/LibModuleDBShare-1.0.lua Sat Mar 16 20:09:19 2013 -0400 @@ -11,7 +11,7 @@ if not LibModuleDBShare then return end -- No upgrade needed -- Lua APIs -local assert, type, pairs, time = assert, type, pairs, time; +local error, type, pairs, time = error, type, pairs, time; -- Required Libraries local AceDB = LibStub("AceDB-3.0"); @@ -33,10 +33,15 @@ -- @return the new DB group object function LibModuleDBShare:NewGroup(groupName, groupDescription, initialDB, usesDualSpec) -- verify parameters - assert(type(groupName) == "string", "Usage: LibModuleDBShare:NewGroup(groupName, groupDescription, initialDB, usesDualSpec): 'groupName' must be a string."); - assert(type(groupDescription) == "string", "Usage: LibModuleDBShare:NewGroup(groupName, groupDescription, initialDB, usesDualSpec): 'groupDescription' must be a string."); - assert(type(LibModuleDBShare.groups[groupName]) == "nil", "LibModuleDBShare:NewGroup(groupName, groupDescription, initialDB, usesDualSpec): group '"..groupName.."' already exists."); - assert(type(initialDB) == "table", "LibModuleDBShare:NewGroup(groupName, groupDescription, initialDB, usesDualSpec): 'initalDB must be a table."); + if type(groupName) ~= "string" then + error("Usage: LibModuleDBShare:NewGroup(groupName, groupDescription, initialDB, usesDualSpec): 'groupName' must be a string.", 2); + elseif type(groupDescription) ~= "string" then + error("Usage: LibModuleDBShare:NewGroup(groupName, groupDescription, initialDB, usesDualSpec): 'groupDescription' must be a string.", 2); + elseif type(LibModuleDBShare.groups[groupName]) ~= "nil" then + error("LibModuleDBShare:NewGroup(groupName, groupDescription, initialDB, usesDualSpec): group '"..groupName.."' already exists.", 2); + elseif type(initialDB) ~= "table" or not AceDB.db_registry[initial] then + error("LibModuleDBShare:NewGroup(groupName, groupDescription, initialDB, usesDualSpec): 'initalDB must be an AceDB-3.0 database.", 2); + end -- create group local group = {} group.name = groupName; @@ -101,8 +106,11 @@ -- myAddonDBGroup:AddDB(MyAddon.db) function DBGroup:AddDB(newDB) -- verify parameters - assert(type(newDB) == "table", "Usage: DBGroup:AddDB(newDB): 'newDB' must be a table."); - assert(type(self.members[newDB]) == "nil", "DBGroup:AddDB(newDB): 'newDB' is already a member of DBGroup."); + if type(newDB) ~= "table" or not AceDB.db_registry[newDB] then + error("Usage: DBGroup:AddDB(newDB): 'newDB' must be a table.", 2); + elseif type(self.members[newDB]) ~= "nil" then + error("DBGroup:AddDB(newDB): 'newDB' is already a member of DBGroup.", 2); + end -- record current profile local syncProfile = self.syncDB:GetCurrentProfile(); -- add new profiles to syncDB