module Sequel::Plugins::InstanceHooks::InstanceMethods
Public Instance Methods
Source
# File lib/sequel/plugins/instance_hooks.rb 52 def after_destroy 53 super 54 return unless @instance_hooks 55 run_after_instance_hooks(:after_destroy) 56 @instance_hooks.delete(:after_destroy) 57 @instance_hooks.delete(:before_destroy) 58 end
Run after destroy instance hooks.
Calls superclass method
Source
# File lib/sequel/plugins/instance_hooks.rb 68 def after_save 69 super 70 return unless @instance_hooks 71 run_after_instance_hooks(:after_save) 72 @instance_hooks.delete(:after_save) 73 @instance_hooks.delete(:before_save) 74 @instance_hooks.delete(:after_validation) 75 @instance_hooks.delete(:before_validation) 76 end
Run after save instance hooks.
Calls superclass method
Source
# File lib/sequel/plugins/instance_hooks.rb 61 def after_validation 62 super 63 return unless @instance_hooks 64 run_after_instance_hooks(:after_validation) 65 end
Run after validation instance hooks.
Calls superclass method
Source
# File lib/sequel/plugins/instance_hooks.rb 79 def before_destroy 80 return super unless @instance_hooks 81 run_before_instance_hooks(:before_destroy) 82 super 83 end
Run before_destroy
instance hooks.
Calls superclass method
Source
# File lib/sequel/plugins/instance_hooks.rb 86 def before_save 87 return super unless @instance_hooks 88 run_before_instance_hooks(:before_save) 89 super 90 end
Run before_save
instance hooks.
Calls superclass method
Private Instance Methods
Source
# File lib/sequel/plugins/instance_hooks.rb 97 def add_instance_hook(hook, &block) 98 instance_hooks(hook).public_send(hook.to_s.start_with?('before') ? :unshift : :push, block) 99 end
Add the block as an instance level hook. For before hooks, add it to the beginning of the instance hook’s array. For after hooks, add it to the end.
Source
# File lib/sequel/plugins/instance_hooks.rb 102 def instance_hooks(hook) 103 @instance_hooks ||= {} 104 @instance_hooks[hook] ||= [] 105 end
An array of instance level hook blocks for the given hook type.
Source
# File lib/sequel/plugins/instance_hooks.rb 108 def run_after_instance_hooks(hook) 109 instance_hooks(hook).each(&:call) 110 end
Run all hook blocks of the given hook type.
Also aliased as: run_before_instance_hooks