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)


30
31
32
33
# File 'lib/mini_sql_multisite_connection.rb', line 30

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



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

def before_committed!(*)
end

#committed!Object



35
36
37
38
39
40
41
42
# File 'lib/mini_sql_multisite_connection.rb', line 35

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



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

def rolledback!(*)
end

#trigger_transactional_callbacks?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/mini_sql_multisite_connection.rb', line 48

def trigger_transactional_callbacks?
  true
end