From f8206ea86f295e66b919e4ee9e7bf06cf0259bc1 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Mon, 12 Nov 2012 13:39:38 +0100 Subject: [PATCH] Improved error handling. --- .../app/lib/app_post/collection.js.coffee | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/app/lib/app_post/collection.js.coffee b/app/assets/javascripts/app/lib/app_post/collection.js.coffee index 81afe13a2..37d638d47 100644 --- a/app/assets/javascripts/app/lib/app_post/collection.js.coffee +++ b/app/assets/javascripts/app/lib/app_post/collection.js.coffee @@ -103,6 +103,9 @@ class _Singleton extends Spine.Module @load( data ) reset: (params) -> + if !App[ params.type ] + @log 'Collection', 'error', 'reset', 'no such collection', params + return @log 'Collection', 'debug', 'reset', params # empty in-memory @@ -252,10 +255,18 @@ class _Singleton extends Spine.Module return data get: (params) -> + if !App[ params.type ] + @log 'Collection', 'error', 'get', 'no such collection', params + return + @log 'Collection', 'debug', 'get', params App[ params.type ].refresh( object, options: { clear: true } ) all: (params) -> + if !App[ params.type ] + @log 'Collection', 'error', 'all', 'no such collection', params + return + all = App[ params.type ].all() all_complied = [] for item in all @@ -280,12 +291,25 @@ class _Singleton extends Spine.Module App[type].deleteAll() findByAttribute: ( type, key, value ) -> - App[type].findByAttribute( key, value ) + if !App[type] + @log 'Collection', 'error', 'findByAttribute', 'no such collection', type, key, value + return + item = App[type].findByAttribute( key, value ) + if !item + @log 'Collection', 'error', 'findByAttribute', 'no such item in collection', type, key, value + return + item count: ( type ) -> + if !App[type] + @log 'Collection', 'error', 'count', 'no such collection', type, key, value + return App[type].count() fetch: ( type ) -> + if !App[type] + @log 'Collection', 'error', 'fetch', 'no such collection', type, key, value + return App[type].fetch() _sortBy: ( collection, attribute ) ->