release: (item) ->\r
delete @holds[item.cache_key()]\r
\r
+ free: (item) ->\r
+ delete @data[item.cache_key()]\r
+ \r
refresh: (item) ->\r
@restore(item.cache_key()).fetch()\r
#if item.expire_time\r
#item\r
\r
sync: (item) ->\r
- item.fetch().done =>\r
- item.expire_time.setTime(Date.now() + 10 * 60 * 1000)\r
+ item.fetch({\r
+ success: (model, response, opt) =>\r
+ item.expire_time.setTime(Date.now() + 10 * 60 * 1000)\r
+ error: (model, response, opt) =>\r
+ @trigger('fail', response, opt)\r
+ })\r
\r
class Pettanr.Cache.Retriever\r
\r
if item\r
@trigger('retrieve', item)\r
else\r
- empty_item.fetch().done =>\r
- Pettanr.cache.store(empty_item)\r
- @trigger('retrieve', empty_item)\r
+ empty_item.fetch({\r
+ success: (model, response, opt) =>\r
+ Pettanr.cache.store(empty_item)\r
+ @trigger('retrieve', empty_item)\r
+ error: (model, response, opt) =>\r
+ @trigger('fail', response, opt)\r
+ })\r
else\r
# new item\r
@trigger('retrieve', empty_item)\r
\r
retrieve_force: (item) ->\r
- item.fetch().done =>\r
- @trigger('retrieve', item)\r
+ item.fetch({\r
+ success: (model, response, opt) =>\r
+ @trigger('retrieve', item)\r
+ error: (model, response, opt) =>\r
+ @trigger('fail', response, opt)\r
+ })\r
\r
edit: (options = {}) ->\r
empty_item = new @model({id: @id})\r
item = empty_item.hold()\r
- if options.with_elements\r
- item = item.with_elements()\r
- item.fetch().done =>\r
- if options.with_elements\r
- item.attributes = item.replaced_attributes({hold: true})\r
- @trigger('retrieve', item)\r
+ item.fetch({\r
+ success: (model, response, opt) =>\r
+ @trigger('retrieve', item)\r
+ error: (model, response, opt) =>\r
+ @trigger('fail', response, opt)\r
+ })\r
\r