module Sequel::Plugins::InstanceHooks::InstanceMethods
Public Instance Methods
Source
# File lib/sequel/plugins/instance_hooks.rb 56 def after_destroy 57 super 58 return unless @instance_hooks 59 run_after_instance_hooks(:after_destroy) 60 @instance_hooks.delete(:after_destroy) 61 @instance_hooks.delete(:before_destroy) 62 end
Run after destroy instance hooks.
Calls superclass method
Source
# File lib/sequel/plugins/instance_hooks.rb 72 def after_save 73 super 74 return unless @instance_hooks 75 run_after_instance_hooks(:after_save) 76 @instance_hooks.delete(:after_save) 77 @instance_hooks.delete(:before_save) 78 @instance_hooks.delete(:after_validation) 79 @instance_hooks.delete(:before_validation) 80 end
Run after save instance hooks.
Calls superclass method
Source
# File lib/sequel/plugins/instance_hooks.rb 65 def after_validation 66 super 67 return unless @instance_hooks 68 run_after_instance_hooks(:after_validation) 69 end
Run after validation instance hooks.
Calls superclass method
Source
# File lib/sequel/plugins/instance_hooks.rb 83 def before_destroy 84 return super unless @instance_hooks 85 run_before_instance_hooks(:before_destroy) 86 super 87 end
Run before_destroy instance hooks.
Calls superclass method
Source
# File lib/sequel/plugins/instance_hooks.rb 90 def before_save 91 return super unless @instance_hooks 92 run_before_instance_hooks(:before_save) 93 super 94 end
Run before_save instance hooks.
Calls superclass method
Private Instance Methods
Source
# File lib/sequel/plugins/instance_hooks.rb 101 def add_instance_hook(hook, &block) 102 instance_hooks(hook).public_send(hook.to_s.start_with?('before') ? :unshift : :push, block) 103 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 106 def instance_hooks(hook) 107 @instance_hooks ||= {} 108 @instance_hooks[hook] ||= [] 109 end
An array of instance level hook blocks for the given hook type.
Source
# File lib/sequel/plugins/instance_hooks.rb 112 def run_after_instance_hooks(hook) 113 instance_hooks(hook).each(&:call) 114 end
Run all hook blocks of the given hook type.
Also aliased as: run_before_instance_hooks