Methods
E
R
S
T
Classes and Modules
Instance Public methods
enlist_fixture_connections()
     # File activerecord/lib/active_record/fixtures.rb, line 889
889:     def enlist_fixture_connections
890:       ActiveRecord::Base.connection_handler.connection_pools.values.map(&:connection)
891:     end
run_in_transaction?()
     # File activerecord/lib/active_record/fixtures.rb, line 828
828:     def run_in_transaction?
829:       use_transactional_fixtures &&
830:         !self.class.uses_transaction?(method_name)
831:     end
setup_fixtures()
     # File activerecord/lib/active_record/fixtures.rb, line 833
833:     def setup_fixtures
834:       return unless !ActiveRecord::Base.configurations.blank?
835: 
836:       if pre_loaded_fixtures && !use_transactional_fixtures
837:         raise RuntimeError, 'pre_loaded_fixtures requires use_transactional_fixtures'
838:       end
839: 
840:       @fixture_cache = {}
841:       @fixture_connections = []
842:       @@already_loaded_fixtures ||= {}
843: 
844:       # Load fixtures once and begin transaction.
845:       if run_in_transaction?
846:         if @@already_loaded_fixtures[self.class]
847:           @loaded_fixtures = @@already_loaded_fixtures[self.class]
848:         else
849:           @loaded_fixtures = load_fixtures
850:           @@already_loaded_fixtures[self.class] = @loaded_fixtures
851:         end
852:         @fixture_connections = enlist_fixture_connections
853:         @fixture_connections.each do |connection|
854:           connection.increment_open_transactions
855:           connection.transaction_joinable = false
856:           connection.begin_db_transaction
857:         end
858:       # Load fixtures for every test.
859:       else
860:         ActiveRecord::Fixtures.reset_cache
861:         @@already_loaded_fixtures[self.class] = nil
862:         @loaded_fixtures = load_fixtures
863:       end
864: 
865:       # Instantiate fixtures for every test if requested.
866:       instantiate_fixtures if use_instantiated_fixtures
867:     end
teardown_fixtures()
     # File activerecord/lib/active_record/fixtures.rb, line 869
869:     def teardown_fixtures
870:       return unless defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank?
871: 
872:       unless run_in_transaction?
873:         ActiveRecord::Fixtures.reset_cache
874:       end
875: 
876:       # Rollback changes if a transaction is active.
877:       if run_in_transaction?
878:         @fixture_connections.each do |connection|
879:           if connection.open_transactions != 0
880:             connection.rollback_db_transaction
881:             connection.decrement_open_transactions
882:           end
883:         end
884:         @fixture_connections.clear
885:       end
886:       ActiveRecord::Base.clear_active_connections!
887:     end