aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/template/handlers.rb
diff options
context:
space:
mode:
authorZuhao Wan <wanzuhao@gmail.com>2014-06-09 22:45:46 +0800
committerZuhao Wan <wanzuhao@gmail.com>2014-06-12 18:49:40 +0800
commita1dbb4e7e0a580e013423c7adf8ba3127c4c59e0 (patch)
tree1a6065836115a0592c89fd09dd6363a49466aa91 /actionview/lib/action_view/template/handlers.rb
parenta5c12cbd3c0e9b392edb9e4eb13dcdd256327acd (diff)
downloadrails-a1dbb4e7e0a580e013423c7adf8ba3127c4c59e0.tar.gz
rails-a1dbb4e7e0a580e013423c7adf8ba3127c4c59e0.tar.bz2
rails-a1dbb4e7e0a580e013423c7adf8ba3127c4c59e0.zip
Add unregister_template_handler to prevent leaks.
Diffstat (limited to 'actionview/lib/action_view/template/handlers.rb')
-rw-r--r--actionview/lib/action_view/template/handlers.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/actionview/lib/action_view/template/handlers.rb b/actionview/lib/action_view/template/handlers.rb
index d9cddc0040..33bfcb458c 100644
--- a/actionview/lib/action_view/template/handlers.rb
+++ b/actionview/lib/action_view/template/handlers.rb
@@ -32,6 +32,15 @@ module ActionView #:nodoc:
@@template_extensions = nil
end
+ # Opposite to register_template_handler.
+ def unregister_template_handler(*extensions)
+ extensions.each do |extension|
+ handler = @@template_handlers.delete extension.to_sym
+ @@default_template_handlers = nil if @@default_template_handlers == handler
+ end
+ @@template_extensions = nil
+ end
+
def template_handler_extensions
@@template_handlers.keys.map {|key| key.to_s }.sort
end