Module: ActiveRecord::Materialized::RefreshCallbacks::ClassMethods

Defined in:
lib/activerecord/materialized/refresh_callbacks.rb

Overview

The callback-registration methods available on a View subclass.

Instance Method Summary collapse

Instance Method Details

#after_refresh(*methods, &block) ⇒ Object



21
22
23
# File 'lib/activerecord/materialized/refresh_callbacks.rb', line 21

def after_refresh(*methods, &block)
  register_refresh_callback(:after_refresh, methods, block)
end

#before_refresh(*methods, &block) ⇒ Object



17
18
19
# File 'lib/activerecord/materialized/refresh_callbacks.rb', line 17

def before_refresh(*methods, &block)
  register_refresh_callback(:before_refresh, methods, block)
end

#refresh_callback_storeObject



13
14
15
# File 'lib/activerecord/materialized/refresh_callbacks.rb', line 13

def refresh_callback_store
  @refresh_callback_store ||= { before_refresh: [], after_refresh: [] }
end

#run_refresh_callbacks(name) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/activerecord/materialized/refresh_callbacks.rb', line 25

def run_refresh_callbacks(name)
  callbacks = refresh_callback_store.fetch(name, [])
  callbacks.each do |callback|
    case callback
    when Symbol
      public_send(callback)
    when Proc
      instance_eval(&callback)
    end
  end
end