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
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
after_save() click to toggle source

Run after save instance hooks.

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

Run after validation instance hooks.

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

Run before_destroy instance hooks.

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

Run before_save instance hooks.

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

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
97 def add_instance_hook(hook, &block)
98   instance_hooks(hook).public_send(hook.to_s.start_with?('before') ? :unshift : :push, block)
99 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
102 def instance_hooks(hook)
103   @instance_hooks ||= {}
104   @instance_hooks[hook] ||= []
105 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
108 def run_after_instance_hooks(hook)
109   instance_hooks(hook).each(&:call)
110 end
Also aliased as: run_before_instance_hooks
run_before_instance_hooks(hook)