flagpole_sitta 0.9.5 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/flagpole_sitta/cache_sitta.rb +27 -21
- data/lib/flagpole_sitta/version.rb +1 -1
- metadata +3 -3
@@ -200,30 +200,36 @@ module FlagpoleSitta
|
|
200
200
|
|
201
201
|
#Updates the cache after update of any cache sittaed item.
|
202
202
|
def cache_work(alive)
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
203
|
+
begin
|
204
|
+
original_clazz = self.class
|
205
|
+
# Also have to go through all its super objects till the super objects aren't cache sittaed
|
206
|
+
# this is because the new updated object for a sub class, could have also been in a cache for
|
207
|
+
# said sub class, but also in a cache for its super.
|
208
|
+
cur_clazz = original_clazz
|
209
|
+
while(cur_clazz.respond_to? :destroy_array_cache)
|
210
|
+
|
211
|
+
#AR - Clear all caches related to the old route_id
|
212
|
+
cur_clazz.destroy_array_cache(:route_id => self.try(:send, ("#{cur_clazz.route_id}_was")).to_s)
|
213
|
+
#AR - Clear all caches related to the new route_id just in case
|
214
|
+
cur_clazz.destroy_array_cache(:route_id => self.try(:send, ("#{cur_clazz.route_id}")).to_s)
|
215
|
+
#AR - If the new and old are the same All that will happen on the second call is that
|
216
|
+
#it will write the flag out and then destroy it. A very tiny bit of work
|
217
|
+
#for a great amount of extra protection.
|
218
|
+
|
219
|
+
# AR - Remember to include models_in_index in your helper call in the corresponding index cache.
|
220
|
+
cur_clazz.destroy_array_cache(:obj => self)
|
221
|
+
|
222
|
+
cur_clazz = cur_clazz.superclass
|
223
|
+
end
|
220
224
|
|
221
|
-
|
225
|
+
#AR - For Safety this will not recurse upwards for the extra cache maintenance
|
226
|
+
extra_cache_maintenance(alive)
|
227
|
+
rescue
|
228
|
+
#Keep ending up with one of the array objects having a key of nil. Despite the fact that it would have to at least start with /view
|
229
|
+
#becuase of the way its set up in the helper. If that happens all bets are off and just clear everything.
|
230
|
+
Rails.cache.clear
|
222
231
|
end
|
223
232
|
|
224
|
-
#AR - For Safety this will not recurse upwards for the extra cache maintenance
|
225
|
-
extra_cache_maintenance(alive)
|
226
|
-
|
227
233
|
end
|
228
234
|
|
229
235
|
#Sense the current in_scope requires the object to be in the database, this has to be called in case the new version that has been
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flagpole_sitta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 55
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 9
|
9
|
-
-
|
10
|
-
version: 0.9.
|
9
|
+
- 6
|
10
|
+
version: 0.9.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Andrew Rove (Rover)
|