# File lib/active_record/fixtures.rb, line 918 918: def run_in_transaction? 919: use_transactional_fixtures && 920: !self.class.uses_transaction?(method_name) 921: end
# File lib/active_record/fixtures.rb, line 923 923: def setup_fixtures 924: return unless defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank? 925: 926: if pre_loaded_fixtures && !use_transactional_fixtures 927: raise RuntimeError, 'pre_loaded_fixtures requires use_transactional_fixtures' 928: end 929: 930: @fixture_cache = {} 931: @@already_loaded_fixtures ||= {} 932: 933: # Load fixtures once and begin transaction. 934: if run_in_transaction? 935: if @@already_loaded_fixtures[self.class] 936: @loaded_fixtures = @@already_loaded_fixtures[self.class] 937: else 938: load_fixtures 939: @@already_loaded_fixtures[self.class] = @loaded_fixtures 940: end 941: ActiveRecord::Base.connection.increment_open_transactions 942: ActiveRecord::Base.connection.transaction_joinable = false 943: ActiveRecord::Base.connection.begin_db_transaction 944: # Load fixtures for every test. 945: else 946: Fixtures.reset_cache 947: @@already_loaded_fixtures[self.class] = nil 948: load_fixtures 949: end 950: 951: # Instantiate fixtures for every test if requested. 952: instantiate_fixtures if use_instantiated_fixtures 953: end
# File lib/active_record/fixtures.rb, line 955 955: def teardown_fixtures 956: return unless defined?(ActiveRecord) && !ActiveRecord::Base.configurations.blank? 957: 958: unless run_in_transaction? 959: Fixtures.reset_cache 960: end 961: 962: # Rollback changes if a transaction is active. 963: if run_in_transaction? && ActiveRecord::Base.connection.open_transactions != 0 964: ActiveRecord::Base.connection.rollback_db_transaction 965: ActiveRecord::Base.connection.decrement_open_transactions 966: end 967: ActiveRecord::Base.clear_active_connections! 968: end
# File lib/active_record/fixtures.rb, line 986 986: def instantiate_fixtures 987: if pre_loaded_fixtures 988: raise RuntimeError, 'Load fixtures before instantiating them.' if Fixtures.all_loaded_fixtures.empty? 989: unless @@required_fixture_classes 990: self.class.require_fixture_classes Fixtures.all_loaded_fixtures.keys 991: @@required_fixture_classes = true 992: end 993: Fixtures.instantiate_all_loaded_fixtures(self, load_instances?) 994: else 995: raise RuntimeError, 'Load fixtures before instantiating them.' if @loaded_fixtures.nil? 996: @loaded_fixtures.each do |table_name, fixtures| 997: Fixtures.instantiate_fixtures(self, table_name, fixtures, load_instances?) 998: end 999: end 1000: end
# File lib/active_record/fixtures.rb, line 971 971: def load_fixtures 972: @loaded_fixtures = {} 973: fixtures = Fixtures.create_fixtures(fixture_path, fixture_table_names, fixture_class_names) 974: unless fixtures.nil? 975: if fixtures.instance_of?(Fixtures) 976: @loaded_fixtures[fixtures.name] = fixtures 977: else 978: fixtures.each { |f| @loaded_fixtures[f.name] = f } 979: end 980: end 981: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.