edge badge
Methods
A
C
F
N
R
S
Class Public methods
new(state = nil)
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 6
def initialize(state = nil)
  @state = state
  @children = []
end
Instance Public methods
add_child(state)
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 11
def add_child(state)
  @children << state
end
commit!()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 71
def commit!
  @state = :committed
end
committed?()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 19
def committed?
  @state == :committed || @state == :fully_committed
end
completed?()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 39
def completed?
  committed? || rolledback?
end
finalized?()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 15
def finalized?
  @state
end
full_commit!()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 75
def full_commit!
  @state = :fully_committed
end
full_rollback!()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 66
def full_rollback!
  @children.each { |c| c.rollback! }
  @state = :fully_rolledback
end
fully_committed?()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 23
def fully_committed?
  @state == :fully_committed
end
fully_completed?()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 35
def fully_completed?
  completed?
end
fully_rolledback?()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 31
def fully_rolledback?
  @state == :fully_rolledback
end
nullify!()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 79
def nullify!
  @state = nil
end
rollback!()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 61
def rollback!
  @children.each { |c| c.rollback! }
  @state = :rolledback
end
rolledback?()
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 27
def rolledback?
  @state == :rolledback || @state == :fully_rolledback
end
set_state(state)
# File activerecord/lib/active_record/connection_adapters/abstract/transaction.rb, line 43
      def set_state(state)
        ActiveSupport::Deprecation.warn(<<-MSG.squish)
          The set_state method is deprecated and will be removed in
          Rails 6.0. Please use rollback! or commit! to set transaction
          state directly.
        MSG
        case state
        when :rolledback
          rollback!
        when :committed
          commit!
        when nil
          nullify!
        else
          raise ArgumentError, "Invalid transaction state: #{state}"
        end
      end