Module: ActiveRecord::Materialized::RefreshCallbacks::ClassMethods
- Extended by:
- T::Sig
- Defined in:
- lib/activerecord/materialized/refresh_callbacks.rb
Overview
The callback-registration methods available on a View subclass.
Instance Method Summary collapse
- #after_refresh(*methods, &block) ⇒ Object
- #before_refresh(*methods, &block) ⇒ Object
- #refresh_callback_store ⇒ Object
- #run_refresh_callbacks(name) ⇒ Object
Instance Method Details
#after_refresh(*methods, &block) ⇒ Object
33 34 35 |
# File 'lib/activerecord/materialized/refresh_callbacks.rb', line 33 def after_refresh(*methods, &block) register_refresh_callback(:after_refresh, methods, block) end |
#before_refresh(*methods, &block) ⇒ Object
28 29 30 |
# File 'lib/activerecord/materialized/refresh_callbacks.rb', line 28 def before_refresh(*methods, &block) register_refresh_callback(:before_refresh, methods, block) end |
#refresh_callback_store ⇒ Object
20 21 22 23 24 25 |
# File 'lib/activerecord/materialized/refresh_callbacks.rb', line 20 def refresh_callback_store @refresh_callback_store ||= T.let( { before_refresh: [], after_refresh: [] }, T.nilable(T::Hash[Symbol, T::Array[RefreshCallbackName]]) ) end |
#run_refresh_callbacks(name) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/activerecord/materialized/refresh_callbacks.rb', line 38 def run_refresh_callbacks(name) callbacks = refresh_callback_store.fetch(name, []) callbacks.each do |callback| case callback when Symbol T.unsafe(self).public_send(callback) when Proc T.unsafe(self).instance_eval(&callback) end end end |