aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/railtie.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2011-12-12 22:51:33 +0100
committerJosé Valim <jose.valim@gmail.com>2011-12-12 22:54:04 +0100
commitfa1d9a884c0d5b70c97442e3360ac98ca5fa4340 (patch)
treee39e017a9de2936a87f3b9ecf1d14b6febd0a8f1 /activerecord/lib/active_record/railtie.rb
parent62cda03fa824ce1e1fc92aaee0367c29ade6a504 (diff)
downloadrails-fa1d9a884c0d5b70c97442e3360ac98ca5fa4340.tar.gz
rails-fa1d9a884c0d5b70c97442e3360ac98ca5fa4340.tar.bz2
rails-fa1d9a884c0d5b70c97442e3360ac98ca5fa4340.zip
Speed up development by only reloading classes if dependencies files changed.
This can be turned off by setting `config.reload_classes_only_on_change` to false. Extensions like Active Record should add their respective files like db/schema.rb and db/structure.sql to `config.watchable_files` if they want their changes to affect classes reloading. Thanks to https://github.com/paneq/active_reload and Pastorino for the inspiration. <3
Diffstat (limited to 'activerecord/lib/active_record/railtie.rb')
-rw-r--r--activerecord/lib/active_record/railtie.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/railtie.rb b/activerecord/lib/active_record/railtie.rb
index c2e31579a4..71772529d2 100644
--- a/activerecord/lib/active_record/railtie.rb
+++ b/activerecord/lib/active_record/railtie.rb
@@ -94,6 +94,11 @@ module ActiveRecord
end
end
+ initializer "active_record.add_watchable_files" do |app|
+ files = ["#{app.root}/db/schema.rb", "#{app.root}/db/structure.sql"]
+ config.watchable_files.concat files.select { |f| File.exist?(f) }
+ end
+
config.after_initialize do
ActiveSupport.on_load(:active_record) do
instantiate_observers