From d064dd241fee40834dc199b73ba6f28c9f7d919a Mon Sep 17 00:00:00 2001
From: Sam <sam.saffron@gmail.com>
Date: Thu, 3 Apr 2014 10:39:30 +1100
Subject: [PATCH] BUGFIX: reload site settings on rails reload in dev

---
 config/initializers/05-site_settings.rb | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/config/initializers/05-site_settings.rb b/config/initializers/05-site_settings.rb
index 973e156a0..2cd3a7c6b 100644
--- a/config/initializers/05-site_settings.rb
+++ b/config/initializers/05-site_settings.rb
@@ -1,7 +1,17 @@
-RailsMultisite::ConnectionManagement.each_connection do
-  begin
-    SiteSetting.refresh!
-  rescue ActiveRecord::StatementInvalid
-    # This will happen when migrating a new database
+reload_settings = lambda {
+  RailsMultisite::ConnectionManagement.each_connection do
+    begin
+      SiteSetting.refresh!
+    rescue ActiveRecord::StatementInvalid
+      # This will happen when migrating a new database
+    end
+  end
+}
+
+if Rails.configuration.cache_classes
+  reload_settings.call
+else
+  ActionDispatch::Reloader.to_prepare do
+    reload_settings.call
   end
 end