Sha256: 742670098be9bc0494c5b959072fad228475e70aa9abc5ffcd6f7b8f792c9213

Contents?: true

Size: 729 Bytes

Versions: 2

Compression:

Stored size: 729 Bytes

Contents

class ProductSweeper < ActionController::Caching::Sweeper
  observe Product, Pack

  def after_save(record)
    expire_cache_for(record)
  end

  def after_create(record)
    expire_cache_for(record)
  end

  def before_destroy(record)
    expire_cache_for(record)
  end

  private
  def expire_cache_for(record)
    expire_cache_for_product(record)
  end

  def expire_cache_for_product(product)
    expire_page seo_product_path(product) if respond_to?('seo_product_path')
    expire_page product_path(product) if respond_to?('product_path')
    expire_fragment("products/#{product.id}") if product.id

    home_page = Page.find_by_single_key('home')
    expire_page forgeos_cms.page_path(home_page.url) if home_page
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
forgeos_commerce-1.9.1.rc1 app/models/product_sweeper.rb
forgeos_commerce-1.9.0 app/models/product_sweeper.rb