Sha256: 50c1d8483ca6ddad3758ec1699cdf242b34e3fcfe5e4787d9d349afed18b110b

Contents?: true

Size: 689 Bytes

Versions: 7

Compression:

Stored size: 689 Bytes

Contents

class Skyline::FileCacheSweeper < ActiveRecord::Observer
  observe Skyline::MediaFile, Skyline::MediaDir, Skyline::MediaNode
  
  def after_save(record)
    if record.renamed?
    expire_for(record)
    end 
  end
  
  def after_destroy(record)
    expire_for(record)    
  end

  def expire_for(record)    
    case record
      when Skyline::MediaFile
        Skyline::MediaCache.destroy_all("object_id = #{record.id} AND object_type = 'MediaFile'")
      when Skyline::MediaDir
        ids = record.files.collect{|f| f.id}.join(",")
        Skyline::MediaCache.destroy_all("object_id IN (#{ids}) AND object_type = 'MediaFile'") unless ids.blank?
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
skylinecms-3.3.0 app/observers/skyline/file_cache_sweeper.rb
skylinecms-3.2.0 app/observers/skyline/file_cache_sweeper.rb
skylinecms-3.1.0 app/observers/skyline/file_cache_sweeper.rb
westarete-skylinecms-3.0.8.20100329 app/observers/skyline/file_cache_sweeper.rb
westarete-skylinecms-3.0.8.20100330 app/observers/skyline/file_cache_sweeper.rb
skylinecms-3.0.8 app/observers/skyline/file_cache_sweeper.rb
skylinecms-3.0.7 app/observers/skyline/file_cache_sweeper.rb