about summary refs log tree commit diff
path: root/config/initializers/reload_api.rb
diff options
context:
space:
mode:
Diffstat (limited to 'config/initializers/reload_api.rb')
-rw-r--r--config/initializers/reload_api.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/config/initializers/reload_api.rb b/config/initializers/reload_api.rb
new file mode 100644
index 000000000..c6b599d80
--- /dev/null
+++ b/config/initializers/reload_api.rb
@@ -0,0 +1,13 @@
+if Rails.env.development?
+  ActiveSupport::Dependencies.explicitly_unloadable_constants << 'Twitter::API'
+
+  api_files = Dir[Rails.root.join('app', 'api', '**', '*.rb')]
+
+  api_reloader = ActiveSupport::FileUpdateChecker.new(api_files) do
+    Rails.application.reload_routes!
+  end
+
+  ActionDispatch::Callbacks.to_prepare do
+    api_reloader.execute_if_updated
+  end
+end