module Sequel::ForceHooks
Constants
- VERSION
Private Instance Methods
add_savepoint_hook(conn, type, block)
click to toggle source
Calls superclass method
# File lib/sequel/extensions/force_hooks.rb, line 20 def add_savepoint_hook(conn, type, block) if _trans(conn)[:force_hooks].last && in_savepoint?(conn) hooks = _trans(conn)[:stacked_hooks].last[type] ||= [] hooks << block else super end end
add_transaction_hook(conn, type, block)
click to toggle source
Calls superclass method
# File lib/sequel/extensions/force_hooks.rb, line 9 def add_transaction_hook(conn, type, block) stacked_hooks = _trans(conn)[:stacked_hooks] if stacked_hooks.empty? super else hooks = stacked_hooks.last[type] ||= [] hooks << block end end
transaction_finished?(conn)
click to toggle source
Calls superclass method
# File lib/sequel/extensions/force_hooks.rb, line 55 def transaction_finished?(conn) _trans(conn)[:stacked_hooks].pop if _trans(conn)[:force_hooks].last _trans(conn)[:force_hooks].pop super end
transaction_hooks(conn, committed)
click to toggle source
Calls superclass method
# File lib/sequel/extensions/force_hooks.rb, line 29 def transaction_hooks(conn, committed) if _trans(conn)[:force_hooks].last && in_savepoint?(conn) _trans(conn)[:stacked_hooks].last[committed ? :after_commit : :after_rollback] else super end end
transaction_options(conn, opts)
click to toggle source
Calls superclass method
# File lib/sequel/extensions/force_hooks.rb, line 37 def transaction_options(conn, opts) hash = super if t = _trans(conn) if !opts.key?(:force_hooks) && t[:force_hooks].last == :nested opts[:force_hooks] = true end t[:force_hooks].push(opts[:force_hooks]) t[:stacked_hooks].push({}) if opts[:force_hooks] else hash[:force_hooks] = [opts[:force_hooks]] hash[:stacked_hooks] = [] end hash end