OSDN Git Service
(root)
/
pettanr
/
pettanr.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix: devise
[pettanr/pettanr.git]
/
app
/
assets
/
javascripts
/
pettanr
/
cache.js.coffee
diff --git
a/app/assets/javascripts/pettanr/cache.js.coffee
b/app/assets/javascripts/pettanr/cache.js.coffee
index
f6c21fa
..
b2ebb3f
100644
(file)
--- a/
app/assets/javascripts/pettanr/cache.js.coffee
+++ b/
app/assets/javascripts/pettanr/cache.js.coffee
@@
-1,6
+1,7
@@
class Pettanr.Cache
\r
\r
constructor: (options) ->
\r
class Pettanr.Cache
\r
\r
constructor: (options) ->
\r
+ @operators = options.operators
\r
@data = {}
\r
@holds = {}
\r
_.extend(this, Backbone.Events)
\r
@data = {}
\r
@holds = {}
\r
_.extend(this, Backbone.Events)
\r
@@
-19,7
+20,7
@@
class Pettanr.Cache
cached_item # merge?
\r
else
\r
@data[item.cache_key()] = item
\r
cached_item # merge?
\r
else
\r
@data[item.cache_key()] = item
\r
- @refresh(return_items)
\r
+
#
@refresh(return_items)
\r
return_items
\r
\r
restore: (key) ->
\r
return_items
\r
\r
restore: (key) ->
\r
@@
-41,15
+42,19
@@
class Pettanr.Cache
return @holds[item.cache_key()] if @holds[item.cache_key()]
\r
@holds[item.cache_key()] = item.clone()
\r
\r
return @holds[item.cache_key()] if @holds[item.cache_key()]
\r
@holds[item.cache_key()] = item.clone()
\r
\r
+ fix: (item) ->
\r
+ delete @holds[item.cache_key()]
\r
+ @restore(item).fetch()
\r
+
\r
release: (item) ->
\r
release: (item) ->
\r
- @data[item.cache_key()] = item # overwrite
\r
delete @holds[item.cache_key()]
\r
\r
refresh: (item) ->
\r
delete @holds[item.cache_key()]
\r
\r
refresh: (item) ->
\r
- if item.expire_time
\r
- if Date.now() >= return_items.expire_time
\r
- @sync(item)
\r
- item
\r
+ @restore(item.cache_key()).fetch()
\r
+ #if item.expire_time
\r
+ # if Date.now() >= return_items.expire_time
\r
+ # @sync(item)
\r
+ #item
\r
\r
sync: (item) ->
\r
item.fetch().done =>
\r
\r
sync: (item) ->
\r
item.fetch().done =>
\r
@@
-63,9
+68,8
@@
class Pettanr.Cache.Retriever
retrieve: (force) ->
\r
empty_item = new @model({id: @id})
\r
if force
\r
retrieve: (force) ->
\r
empty_item = new @model({id: @id})
\r
if force
\r
- # query
\r
- empty_item.fetch().done =>
\r
- @trigger('retrieve', empty_item)
\r
+ # query (ex: folders/3?watch)
\r
+ @retrieve_force(empty_item)
\r
else if @id
\r
# existence item
\r
item = Pettanr.cache.restore(empty_item)
\r
else if @id
\r
# existence item
\r
item = Pettanr.cache.restore(empty_item)
\r
@@
-79,10
+83,17
@@
class Pettanr.Cache.Retriever
# new item
\r
@trigger('retrieve', empty_item)
\r
\r
# new item
\r
@trigger('retrieve', empty_item)
\r
\r
- edit: (model, id) ->
\r
+ retrieve_force: (item) ->
\r
+ item.fetch().done =>
\r
+ @trigger('retrieve', item)
\r
+
\r
+ edit: (options = {}) ->
\r
empty_item = new @model({id: @id})
\r
empty_item = new @model({id: @id})
\r
- item = Pettanr.cache.hold(empty_item)
\r
+ item = empty_item.hold()
\r
+ if options.with_elements
\r
+ item = item.with_elements()
\r
item.fetch().done =>
\r
item.fetch().done =>
\r
- @item.attributes = @item.replaced_attributes()
\r
+ if options.with_elements
\r
+ item.attributes = item.replaced_attributes({hold: true})
\r
@trigger('retrieve', item)
\r
@trigger('retrieve', item)
\r
-
\r
+
\r