Module: ArCache::ActiveRecord::ConnectionAdapters::TransactionManager
- Defined in:
- lib/ar_cache/active_record/connection_adapters/abstract/transaction.rb
Instance Method Summary collapse
- #add_transaction_table(table_name) ⇒ Object
- #fully_joinable? ⇒ Boolean
- #initialize ⇒ Object
- #transaction_table?(table_name) ⇒ Boolean
- #within_new_transaction ⇒ Object
Instance Method Details
#add_transaction_table(table_name) ⇒ Object
75 76 77 |
# 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? ⇒ Boolean
83 84 85 |
# File 'lib/ar_cache/active_record/connection_adapters/abstract/transaction.rb', line 83 def fully_joinable? @stack.all?(&:joinable?) end |
#initialize ⇒ Object
70 71 72 73 |
# File 'lib/ar_cache/active_record/connection_adapters/abstract/transaction.rb', line 70 def initialize(...) super @transaction_tables = {} end |
#transaction_table?(table_name) ⇒ Boolean
79 80 81 |
# 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 ⇒ Object
87 88 89 90 91 |
# 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 |