aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2011-05-04 16:39:01 +0200
committerJosé Valim <jose.valim@gmail.com>2011-05-04 16:47:35 +0200
commit92661b0c501a65b7f2d9ac8fbf9743152b8a031b (patch)
treeb49e621c5db5b3ba72a1952577c863193b916e16 /railties/lib
parentb9bba555caa95389e97bd7d32472ddc1e429d7c2 (diff)
downloadrails-92661b0c501a65b7f2d9ac8fbf9743152b8a031b.tar.gz
rails-92661b0c501a65b7f2d9ac8fbf9743152b8a031b.tar.bz2
rails-92661b0c501a65b7f2d9ac8fbf9743152b8a031b.zip
Move sandbox to AR and pass the sandbox as a value. This way, other ORMs like Datamapper can also have their own sandboxing in rails console.
Diffstat (limited to 'railties/lib')
-rw-r--r--railties/lib/rails/application.rb3
-rw-r--r--railties/lib/rails/console/sandbox.rb6
-rw-r--r--railties/lib/rails/railtie.rb4
3 files changed, 3 insertions, 10 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb
index 4e82761e5d..dd01bbab1d 100644
--- a/railties/lib/rails/application.rb
+++ b/railties/lib/rails/application.rb
@@ -112,7 +112,7 @@ module Rails
def load_console(sandbox=false)
initialize_console(sandbox)
- railties.all { |r| r.load_console }
+ railties.all { |r| r.load_console(sandbox) }
super()
self
end
@@ -196,7 +196,6 @@ module Rails
def initialize_console(sandbox=false)
require "rails/console/app"
- require "rails/console/sandbox" if sandbox
require "rails/console/helpers"
end
end
diff --git a/railties/lib/rails/console/sandbox.rb b/railties/lib/rails/console/sandbox.rb
deleted file mode 100644
index 65a3d68619..0000000000
--- a/railties/lib/rails/console/sandbox.rb
+++ /dev/null
@@ -1,6 +0,0 @@
-ActiveRecord::Base.connection.increment_open_transactions
-ActiveRecord::Base.connection.begin_db_transaction
-at_exit do
- ActiveRecord::Base.connection.rollback_db_transaction
- ActiveRecord::Base.connection.decrement_open_transactions
-end
diff --git a/railties/lib/rails/railtie.rb b/railties/lib/rails/railtie.rb
index 7fca565124..b183eb8ddd 100644
--- a/railties/lib/rails/railtie.rb
+++ b/railties/lib/rails/railtie.rb
@@ -173,8 +173,8 @@ module Rails
def eager_load!
end
- def load_console
- self.class.console.each(&:call)
+ def load_console(sandbox=false)
+ self.class.console.each { |block| block.call(sandbox) }
end
def load_tasks