Class: SolidObserver::CacheSubscriber

Inherits:
Object
  • Object
show all
Defined in:
lib/solid_observer/cache_subscriber.rb

Constant Summary collapse

EVENTS =
%w[
  cache_read.active_support
  cache_write.active_support
  cache_delete.active_support
  cache_exist?.active_support
  cache_read_multi.active_support
  cache_write_multi.active_support
  cache_delete_multi.active_support
].freeze

Class Method Summary collapse

Class Method Details

.subscribe!Object



16
17
18
19
20
# File 'lib/solid_observer/cache_subscriber.rb', line 16

def subscribe!
  return unless subscription_allowed?

  @subscriptions = EVENTS.map { |event_name| subscribe_to(event_name) }
end

.subscribed?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/solid_observer/cache_subscriber.rb', line 29

def subscribed?
  !!@subscriptions&.any?
end

.unsubscribe!Object



22
23
24
25
26
27
# File 'lib/solid_observer/cache_subscriber.rb', line 22

def unsubscribe!
  return unless @subscriptions

  @subscriptions.each { |subscription| ActiveSupport::Notifications.unsubscribe(subscription) }
  @subscriptions = []
end