Class: MiniSqlMultisiteConnection::AfterCommitWrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/mini_sql_multisite_connection.rb

Instance Method Summary collapse

Constructor Details

#initialize(&blk) ⇒ AfterCommitWrapper

Returns a new instance of AfterCommitWrapper.

Raises:

  • (ArgumentError)


26
27
28
29
# File 'lib/mini_sql_multisite_connection.rb', line 26

def initialize(&blk)
  raise ArgumentError, "tried to create a Proc without a block in AfterCommitWrapper" if !blk
  @callback = blk
end

Instance Method Details

#before_committed!Object



40
41
# File 'lib/mini_sql_multisite_connection.rb', line 40

def before_committed!(*)
end

#committed!Object



31
32
33
34
35
36
37
38
# File 'lib/mini_sql_multisite_connection.rb', line 31

def committed!(*)
  if DB.transaction_open?
    # Nested transaction. Pass the callback to the parent
    ActiveRecord::Base.connection.add_transaction_record(self)
  else
    @callback.call
  end
end

#rolledback!Object



43
44
# File 'lib/mini_sql_multisite_connection.rb', line 43

def rolledback!(*)
end

#trigger_transactional_callbacks?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/mini_sql_multisite_connection.rb', line 46

def trigger_transactional_callbacks?
  true
end