Sha256: 5920ccd2a49217be68b47ce77c253783f5076ea27c9fbad156fa021b960bb087

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

class PageSweeper < ActionController::Caching::Sweeper
  include ExpireEditableFragment
  observe Create, Realize, Produce, Own, Exemplify,
    SeriesStatement, SeriesHasManifestation, PictureFile

  def after_save(record)
    case record.class.to_s.to_sym
    when :Create
      expire_editable_fragment(record.patron)
      expire_editable_fragment(record.work)
    when :Realize
      expire_editable_fragment(record.patron)
      expire_editable_fragment(record.expression)
    when :Produce
      expire_editable_fragment(record.patron)
      expire_editable_fragment(record.manifestation)
    when :Own
      expire_editable_fragment(record.patron)
      expire_editable_fragment(record.item)
      expire_editable_fragment(record.item.manifestation)
    when :Exemplify
      expire_editable_fragment(record.manifestation)
      expire_editable_fragment(record.item)
    when :SeriesStatement
      expire_editable_fragment(record.manifestation)
    when :SeriesHasManifestation
      expire_editable_fragment(record.manifestation)
    when :PictureFile
      if record.picture_attachable_type?
        expire_editable_fragment(record.picture_attachable)
      end
    end
  end

  def after_destroy(record)
    after_save(record)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
enju_biblio-0.1.0.pre34 app/models/page_sweeper.rb