aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/initializer.rb
diff options
context:
space:
mode:
authorFlorian Weber <csshsh@gmail.com>2005-10-14 20:33:39 +0000
committerFlorian Weber <csshsh@gmail.com>2005-10-14 20:33:39 +0000
commit9285f6c7ae3e4addf940b033713e6d0e09ae1540 (patch)
tree0245cc8a6a7e74ef91bb76a60537a32f5edb8aa5 /railties/lib/initializer.rb
parent00656979fed99d4d16eefc795067a576ab1a1a91 (diff)
downloadrails-9285f6c7ae3e4addf940b033713e6d0e09ae1540.tar.gz
rails-9285f6c7ae3e4addf940b033713e6d0e09ae1540.tar.bz2
rails-9285f6c7ae3e4addf940b033713e6d0e09ae1540.zip
Made the instantiated/transactional fixtures settings be controlled through Rails::Initializer. Transactional and non-instantiated fixtures are default from now on.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2588 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/lib/initializer.rb')
-rw-r--r--railties/lib/initializer.rb28
1 files changed, 27 insertions, 1 deletions
diff --git a/railties/lib/initializer.rb b/railties/lib/initializer.rb
index f6be1bb1ea..0e786dfa5d 100644
--- a/railties/lib/initializer.rb
+++ b/railties/lib/initializer.rb
@@ -36,6 +36,7 @@ module Rails
load_environment
initialize_database
+ initialize_fixture_settings if configuration.environment == 'test'
initialize_logger
initialize_framework_logging
initialize_framework_views
@@ -100,6 +101,15 @@ module Rails
ActiveRecord::Base.establish_connection
end
+ def initialize_fixture_settings
+ return unless configuration.frameworks.include?(:active_record)
+ require 'test/unit'
+ require 'active_record/fixtures'
+ Test::Unit::TestCase.use_transactional_fixtures = configuration.transactional_fixtures
+ Test::Unit::TestCase.use_instantiated_fixtures = configuration.instantiated_fixtures
+ Test::Unit::TestCase.pre_loaded_fixtures = configuration.pre_loaded_fixtures
+ end
+
def initialize_logger
# if the environment has explicitly defined a logger, use it
return if defined?(RAILS_DEFAULT_LOGGER)
@@ -172,6 +182,7 @@ module Rails
class Configuration
attr_accessor :frameworks, :load_paths, :logger, :log_level, :log_path, :database_configuration_file, :view_path, :controller_paths
attr_accessor :cache_classes, :breakpoint_server, :whiny_nils
+ attr_accessor :transactional_fixtures, :instantiated_fixtures, :pre_loaded_fixtures
attr_accessor :connection_adapters
attr_accessor :active_record, :action_controller, :action_view, :action_mailer, :action_web_service
@@ -186,7 +197,10 @@ module Rails
self.breakpoint_server = default_breakpoint_server
self.whiny_nils = default_whiny_nils
self.database_configuration_file = default_database_configuration_file
-
+ self.transactional_fixtures = default_transactional_fixtures
+ self.instantiated_fixtures = default_use_instantiated_fixtures
+ self.pre_loaded_fixtures = default_pre_loaded_fixtures
+
for framework in default_frameworks
self.send("#{framework}=", OrderedOptions.new)
end
@@ -278,6 +292,18 @@ module Rails
def default_whiny_nils
false
end
+
+ def default_transactional_fixtures
+ true
+ end
+
+ def default_use_instantiated_fixtures
+ false
+ end
+
+ def default_pre_loaded_fixtures
+ false
+ end
end
end