module Sequel::Plugins::InstanceHooks::InstanceMethods

Public Instance Methods

after_destroy() click to toggle source

Run after destroy instance hooks.

Calls superclass method
   # 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
after_save() click to toggle source

Run after save instance hooks.

Calls superclass method
   # 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
after_validation() click to toggle source

Run after validation instance hooks.

Calls superclass method
   # 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
before_destroy() click to toggle source

Run before_destroy instance hooks.

Calls superclass method
   # 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
before_save() click to toggle source

Run before_save instance hooks.

Calls superclass method
   # 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

Private Instance Methods

add_instance_hook(hook, &block) click to toggle source

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.

    # 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
instance_hooks(hook) click to toggle source

An array of instance level hook blocks for the given hook type.

    # File lib/sequel/plugins/instance_hooks.rb
106 def instance_hooks(hook)
107   @instance_hooks ||= {}
108   @instance_hooks[hook] ||= []
109 end
run_after_instance_hooks(hook) click to toggle source

Run all hook blocks of the given hook type.

    # File lib/sequel/plugins/instance_hooks.rb
112 def run_after_instance_hooks(hook)
113   instance_hooks(hook).each(&:call)
114 end
Also aliased as: run_before_instance_hooks
run_before_instance_hooks(hook)