forked from saurabh/orbit4-5
26 lines
623 B
Ruby
26 lines
623 B
Ruby
|
class OrbitObserver < Mongoid::Observer
|
||
|
# observe OrbitApp.get_models
|
||
|
observe :tag, :category
|
||
|
|
||
|
def after_save(document)
|
||
|
clear_cache(document)
|
||
|
end
|
||
|
|
||
|
def after_destroy(document)
|
||
|
clear_cache(document)
|
||
|
end
|
||
|
|
||
|
def clear_cache(document)
|
||
|
# model_module_hash = OrbitApp.get_model_module_hash
|
||
|
case document.class.to_s
|
||
|
when 'Tag'
|
||
|
document.module_app.each do |module_app|
|
||
|
Rails.cache.delete_matched( /#{ module_app.key }/ )
|
||
|
end
|
||
|
when 'Category'
|
||
|
Rails.cache.delete_matched( /#{ document.module_app.key }/ )
|
||
|
else
|
||
|
# Rails.cache.delete_matched( /#{model_module_hash[document.class.to_s]}/ )
|
||
|
end
|
||
|
end
|
||
|
end
|