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
- #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
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_store ⇒ Object
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 |