Module: ActiveRecord::TestFixtures
- Extended by:
- ActiveSupport::Concern
- Defined in:
- activerecord/lib/active_record/fixtures.rb
Instance Method Summary
(collapse)
append_features, extended, included
Instance Method Details
- (Boolean) run_in_transaction?
920
921
922
923
|
# File 'activerecord/lib/active_record/fixtures.rb', line 920
def run_in_transaction?
use_transactional_fixtures &&
!self.class.uses_transaction?(method_name)
end
|
- (Object) setup_fixtures
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
|
# File 'activerecord/lib/active_record/fixtures.rb', line 925
def setup_fixtures
return unless defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank?
if pre_loaded_fixtures && !use_transactional_fixtures
raise RuntimeError, 'pre_loaded_fixtures requires use_transactional_fixtures'
end
@fixture_cache = {}
@@already_loaded_fixtures ||= {}
if run_in_transaction?
if @@already_loaded_fixtures[self.class]
@loaded_fixtures = @@already_loaded_fixtures[self.class]
else
load_fixtures
@@already_loaded_fixtures[self.class] = @loaded_fixtures
end
ActiveRecord::Base.connection.increment_open_transactions
ActiveRecord::Base.connection.transaction_joinable = false
ActiveRecord::Base.connection.begin_db_transaction
else
Fixtures.reset_cache
@@already_loaded_fixtures[self.class] = nil
load_fixtures
end
instantiate_fixtures if use_instantiated_fixtures
end
|
- (Object) teardown_fixtures
957
958
959
960
961
962
963
964
965
966
967
968
969
970
|
# File 'activerecord/lib/active_record/fixtures.rb', line 957
def teardown_fixtures
return unless defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank?
unless run_in_transaction?
Fixtures.reset_cache
end
if run_in_transaction? && ActiveRecord::Base.connection.open_transactions != 0
ActiveRecord::Base.connection.rollback_db_transaction
ActiveRecord::Base.connection.decrement_open_transactions
end
ActiveRecord::Base.clear_active_connections!
end
|