Class: Garner::Strategies::Binding::Invalidation::BindingIndex

Inherits:
Base
  • Object
show all
Defined in:
lib/garner/strategies/binding/invalidation/binding_index.rb

Class Method Summary collapse

Class Method Details

.apply(binding) ⇒ Object

Force-invalidate an object binding. Used when bindings are explicitly invalidated, via binding.invalidate_garner_caches.

Parameters:

  • binding (Object)

    The binding whose caches are to be invalidated.



18
19
20
21
22
23
24
25
26
27
28
# File 'lib/garner/strategies/binding/invalidation/binding_index.rb', line 18

def self.apply(binding)
  Key::BindingIndex.write_canonical_binding_for(binding)
  Key::BindingIndex.write_cache_key_for(binding)

  # Invalidate proxied classes
  if binding.respond_to?(:proxied_classes)
    binding.proxied_classes.each do |klass|
      Key::BindingIndex.write_cache_key_for(klass)
    end
  end
end

.apply_on_callback?(_kind = nil) ⇒ Boolean

Specifies whether invalidation should happen on callbacks.

Parameters:

  • kind (Symbol)

    One of :create, :update, :destroy

Returns:

  • (Boolean)


9
10
11
# File 'lib/garner/strategies/binding/invalidation/binding_index.rb', line 9

def self.apply_on_callback?(_kind = nil)
  true
end