class ActiveRecord::ConnectionAdapters::TransactionState
Active Record Connection Adapters Transaction State
Public class methods
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 9
def initialize(state = nil)
@state = state
@children = nil
end
Public instance methods
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 14
def add_child(state)
@children ||= []
@children << state
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 66
def commit!
@state = :committed
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 23
def committed?
@state == :committed || @state == :fully_committed
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 47
def completed?
committed? || rolledback?
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 19
def finalized?
@state
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 70
def full_commit!
@state = :fully_committed
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 56
def full_rollback!
@children&.each { |c| c.rollback! }
@state = :fully_rolledback
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 27
def fully_committed?
@state == :fully_committed
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 43
def fully_completed?
completed?
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 35
def fully_rolledback?
@state == :fully_rolledback
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 61
def invalidate!
@children&.each { |c| c.invalidate! }
@state = :invalidated
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 39
def invalidated?
@state == :invalidated
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 74
def nullify!
@state = nil
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 51
def rollback!
@children&.each { |c| c.rollback! }
@state = :rolledback
end
Source code GitHub
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 31
def rolledback?
@state == :rolledback || @state == :fully_rolledback
end