Module: Chamomile::RenderCache

Defined in:
lib/chamomile/components/render_cache.rb

Overview

Mixin for render result caching keyed on content hash. Include in components whose render output depends only on their data and dimensions.

Instance Method Summary collapse

Instance Method Details

#cached_render(width:, height:, cache_key:) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/chamomile/components/render_cache.rb', line 7

def cached_render(width:, height:, cache_key:)
  key = [width, height, cache_key]
  return @render_cache if @render_cache_key == key

  @render_cache_key = key
  @render_cache = yield
end