Module: Sequel::Plugins::InstanceHooks::InstanceMethods

Defined in:
lib/sequel/plugins/instance_hooks.rb

Instance Method Summary collapse

Instance Method Details

#after_destroyObject

Run after destroy instance hooks.



67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/sequel/plugins/instance_hooks.rb', line 67

def after_destroy
  super
  return unless @instance_hooks
  # SEQUEL5: Remove commit/rollback
  if ad = @instance_hooks[:after_destroy_commit]
    db.after_commit{ad.each(&:call)}
  end
  run_after_instance_hooks(:after_destroy)
  @instance_hooks.delete(:after_destroy)
  @instance_hooks.delete(:before_destroy)
  @instance_hooks.delete(:after_destroy_commit)
  @instance_hooks.delete(:after_destroy_rollback)
end

#after_saveObject

Run after save instance hooks.



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/sequel/plugins/instance_hooks.rb', line 89

def after_save
  super
  return unless @instance_hooks
  # SEQUEL5: Remove commit/rollback
  if (ac = @instance_hooks[:after_commit])
    db.after_commit{ac.each(&:call)}
  end
  run_after_instance_hooks(:after_save)
  @instance_hooks.delete(:after_save)
  @instance_hooks.delete(:before_save)
  @instance_hooks.delete(:after_validation)
  @instance_hooks.delete(:before_validation)
  @instance_hooks.delete(:after_commit)
  @instance_hooks.delete(:after_rollback)
end

#after_validationObject

Run after validation instance hooks.



82
83
84
85
86
# File 'lib/sequel/plugins/instance_hooks.rb', line 82

def after_validation
  super
  return unless @instance_hooks
  run_after_instance_hooks(:after_validation)
end

#before_destroyObject

Run before_destroy instance hooks.



106
107
108
109
110
111
112
113
114
# File 'lib/sequel/plugins/instance_hooks.rb', line 106

def before_destroy
  return super unless @instance_hooks
  # SEQUEL5: Remove commit/rollback
  if adr = @instance_hooks[:after_destroy_rollback]
    db.after_rollback{adr.each(&:call)}
  end
  # SEQUEL5: No false checking
  run_before_instance_hooks(:before_destroy) == false ? false : super
end

#before_saveObject

Run before_save instance hooks.



117
118
119
120
121
122
123
124
125
# File 'lib/sequel/plugins/instance_hooks.rb', line 117

def before_save
  return super unless @instance_hooks
  # SEQUEL5: Remove commit/rollback
  if ar = @instance_hooks[:after_rollback]
    db.after_rollback{ar.each(&:call)}
  end
  # SEQUEL5: No false checking
  run_before_instance_hooks(:before_save) == false ? false : super
end