module
v2.1.0 -
Show latest stable
-
0 notes
Callbacks are hooks into the lifecycle of an object that allow you to trigger logic before or after an alteration of the object state.
Mixing in this module allows you to define callbacks in your class.
Example:
class Storage include ActiveSupport::Callbacks define_callbacks :before_save, :after_save end class ConfigStorage < Storage before_save :saving_message def saving_message puts "saving..." end after_save do |object| puts "saved" end def save run_callbacks(:before_save) puts "- save" run_callbacks(:after_save) end end config = ConfigStorage.new config.save
Output:
saving... - save saved
Callbacks from parent classes are inherited.
Example:
class Storage include ActiveSupport::Callbacks define_callbacks :before_save, :after_save before_save :prepare def prepare puts "preparing save" end end class ConfigStorage < Storage before_save :saving_message def saving_message puts "saving..." end after_save do |object| puts "saved" end def save run_callbacks(:before_save) puts "- save" run_callbacks(:after_save) end end config = ConfigStorage.new config.save
Output:
preparing save saving... - save saved