Module: Sequel::Plugins::HookClassMethods::InstanceMethods

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

Instance Method Summary collapse

Instance Method Details

#after_destroyObject



125
126
127
128
129
130
131
# File 'lib/sequel/plugins/hook_class_methods.rb', line 125

def after_destroy
  super
  model.hook_blocks(:after_destroy){|b| instance_eval(&b)}
  if model.has_hooks?(:after_destroy_commit)
    db.after_commit{model.hook_blocks(:after_destroy_commit){|b| instance_eval(&b)}}
  end
end

#after_saveObject



133
134
135
136
137
138
139
# File 'lib/sequel/plugins/hook_class_methods.rb', line 133

def after_save
  super
  model.hook_blocks(:after_save){|b| instance_eval(&b)}
  if model.has_hooks?(:after_commit)
    db.after_commit{model.hook_blocks(:after_commit){|b| instance_eval(&b)}}
  end
end

#before_destroyObject



141
142
143
144
145
146
147
148
149
# File 'lib/sequel/plugins/hook_class_methods.rb', line 141

def before_destroy
  model.hook_blocks(:before_destroy) do |b|
    return false if instance_eval(&b) == false
  end
  super
  if model.has_hooks?(:after_destroy_rollback)
    db.after_rollback{model.hook_blocks(:after_destroy_rollback){|b| instance_eval(&b)}}
  end
end

#before_saveObject



151
152
153
154
155
156
157
158
159
# File 'lib/sequel/plugins/hook_class_methods.rb', line 151

def before_save
  model.hook_blocks(:before_save) do |b|
    return false if instance_eval(&b) == false
  end
  super
  if model.has_hooks?(:after_rollback)
    db.after_rollback{model.hook_blocks(:after_rollback){|b| instance_eval(&b)}}
  end
end