module ArCache::ActiveRecord::ConnectionAdapters::TransactionManager

Public Class Methods

new(...) click to toggle source
Calls superclass method
# File lib/ar_cache/active_record/connection_adapters/abstract/transaction.rb, line 70
def initialize(...)
  super
  @transaction_tables = {}
end

Public Instance Methods

add_transaction_table(table_name) click to toggle source
# File lib/ar_cache/active_record/connection_adapters/abstract/transaction.rb, line 75
def add_transaction_table(table_name)
  @transaction_tables[table_name] = true if fully_joinable? && @stack.any?
end
fully_joinable?() click to toggle source
# File lib/ar_cache/active_record/connection_adapters/abstract/transaction.rb, line 83
def fully_joinable?
  @stack.all?(&:joinable?)
end
transaction_table?(table_name) click to toggle source
# File lib/ar_cache/active_record/connection_adapters/abstract/transaction.rb, line 79
def transaction_table?(table_name)
  @transaction_tables.key?(table_name)
end
within_new_transaction(...) click to toggle source
Calls superclass method
# File lib/ar_cache/active_record/connection_adapters/abstract/transaction.rb, line 87
def within_new_transaction(...)
  super
ensure
  @transaction_tables.clear if @stack.count(&:joinable?).zero?
end